Capitolo 2 Strutture 2.1 Strutture e tipi Una struttura A e costituita da un insieme A, il dominio della struttura, e da una successione di relazioni su A, funzioni su A e individui di A detti costanti. Il concetto di struttura e molto duttile e consente di rappresentare in modo ecace diverse situazioni di carattere empirico e teorico. Ridurre una situazione a una struttura signica ricondurla nell'ambito dell'algebra. Il passaggio da una situazione \concreta" a una struttura \astratta" e un impoverimento, nel senso che molti dettagli, molti aspetti specici vanno inevitabilmente perduti, tuttavia non si deve concepire il sacricio dei particolari come un limite di questo modo di procedere, dato che buona parte dell'attivita conoscitiva umana consiste precisamente nella produzione di astrazioni che isolano, in una certa realta, cio che si ritiene essenziale da cio che si ritiene contingente, gli aspetti fondamentali da trasferire nella struttura, dagli aspetti che invece si ritengono inessenziali. Esaminiamo alcuni esempi di strutture che saranno utili in seguito. Consideriamo la porzione di realta costituita da tutti i sottoinsiemi di un dato insieme A. E possibile organizzare questi oggetti in una struttura isolando la relazione di inclusione fra insiemi come un aspetto fondamentale della realta: otteniamo cos la struttura costituita dall'insieme ordinato (P(A); ). Nella stessa realta insiemistica di base si possono invece considerare come fondamentali le operazioni insiemistiche di intersezione, unione e complemento e quegli insiemi molto particolari che sono ; e A: otteniamo cos la struttura (P (A); \; [; ;; ;; A), detta algebra dell'insieme potenza, che indicheremo con B(A). Scegliendo le relazioni, le funzioni e le costanti che fanno parte della struttura, dichiariamo cio che riteniamo fondamentale nella realta in esame e a diverse scelte degli elementi caratterizzanti corrispondono diverse strutture. Una prima classicazione delle strutture si ottiene mediante la nozione di tipo, ossia isolando il linguaggio necessario per nominare le relazioni, le funzioni e le costanti presenti nella struttura: strutture dello stesso tipo sono descrivibili 34 Capitolo 2. Strutture col medesimo linguaggio. Piu precisamente un tipo e una quadrupla = (fRigi2I ; fFj gj 2J ; fck gk2K ; ar) che soddisfa le condizioni seguenti. Le successioni fRigi2I , fFj gj 2J e fck gk2K non contengono ripetizioni. Indicheremo con Rel, Fun e Cos le immagini di queste funzioni. L'insieme Rel contiene i simboli di relazione, Fun i simboli di funzione e Cos i simboli di costante : supporremo che questi insiemi di simboli non abbiano elementi in comune. La funzione ar : Rel [ F un ! ! assegna ad ogni simbolo di relazione e di funzione un numero naturale detto arieta del simbolo e parleremo quindi di simboli funzionali e relazionali n-ari. I simboli di relazione 1-ari sono detti anche simboli di predicato. Se e un tipo, deniamo struttura di tipo una coppia A = (A; I ), dove A e un insieme non vuoto, detto dominio della struttura, e I e una funzione, detta interpretazione , che assegna ad ogni simbolo di relazione una relazione su A, ad ogni simbolo di funzione una funzione su A e ad ogni simbolo di costante una costante di A, ossia un elemento di A, in modo che le arieta dei simboli di relazione e di funzione corrispondano a quelle delle relazioni e funzioni loro assegnate. In altri termini: 1. per ogni simbolo relazionale n-ario, I (Ri) An, 2. per ogni simbolo funzionale n-ario, I (Fj ) : An ! A, 3. per ogni simbolo di costante, I (ck ) 2 A. La restrizione a strutture con dominio non vuoto e essenziale. Se ammettessimo strutture con dominio vuoto dovremmo modicare la logica classica, nella quale l'esistenza di almeno un oggetto e formalmente dimostrabile (si veda il paragrafo 4.6). In alcune trattazioni i simboli di costante sono eliminati a favore di simboli di funzioni 0-arie, dato che una funzione 0-aria su A consiste nella scelta di un individuo di A. Scriveremo RAi al posto di I (Ri) per semplicita e per sottolineare il legame con la struttura A. Lo stesso dicasi per simboli di funzione e di costante. Adotteremo la notazione (A; fRAi gi2I ; fFjAgj 2J ; fcAk gk2K ) per denotare la struttura (A,I ), senza indicare il tipo e la funzione arieta in modo esplicito. Quando relazioni, funzioni e costanti sono in numero nito, ci limiteremo ad elencarle, dopo il dominio, in un'unica successione. A volte scriveremo semplicemente R invece di RA , quando non ci sia pericolo di confondere il simbolo di relazione con la relazione stessa. Lo stesso dicasi per i simboli di funzione e di costante. Puo accadere che il tipo di una struttura non contenga del tutto simboli, in questo caso la struttura A si riduce a un semplice insieme A. Se mancano i simboli di funzione e di costante, allora parliamo di struttura relazionale, se mancano quelli di relazione, parliamo di struttura algebrica. Ogni tipo da origine a innite strutture di quel tipo, sia perche e possibile scegliere insiemi diversi come dominio dell'interpretazione, sia perche, una volta scelto un insieme come dominio, esiste una varieta di modi distinti di interpretarvi i simboli del tipo. Sul dominio ! possiamo considerare sia la struttura relazionale A = (!; A), dove A e la relazione di minore o uguale, sia la struttura relazionale B = (!; B ), dove B e la relazione \x divide y". Avremo 2.2. Iso e monomorsmi 35 dunque 2 A 3 e non 2 B 3. La scelta di adottare il simbolo invece di R e dettata solo dal fatto che suggerisce l'idea di un ordine parziale, ma solo A e la \vera" relazione di minore o uguale. Sempre su ! possiamo denire sia la struttura algebrica A = (!; S A ; 0A), dove S A e la funzione successore e 0A il numero zero, sia la struttura algebrica B = (!; S B ; 0B ), dove S B e la funzione elevamento al quadrato e 0B il numero 2. Avremo dunque S A (0A) = 1 e S B (0B ) = 4. In linea di principio l'interpretazione di un simbolo del tipo non e soggetta ad alcun vincolo, tranne il rispetto delle arieta, quindi non bisogna lasciarsi fuorviare dall'aspetto di simboli come +, e 0, che possono ricevere interpretazioni che nulla hanno da spartire con somma, minore o uguale e zero. La distinzione tra R e RA, tra un simbolo e la sua interpretazione, e particolarmente utile quando il discorso verte su strutture dierenti in cui lo stesso simbolo riceve interpretazioni diverse, altrimenti la distinzione puntigliosa tra i simboli e le loro interpretazioni appesantisce eccessivamente il discorso. Ci sara quindi consentito adottare la notazione (P (A); \; [; ;; ;; A) per quella che formalmente e una struttura di tipo = (;; fFigi23; fck gk22; ar) dove ar(F0 ) = ar(F1) = 2 e ar(F2 ) = 1. Il lettore dovrebbe essere in grado, ogni volta che in seguito verra presentata una struttura in modo informale, di ricostruirne la presentazione rigorosa e di individuarne il tipo. Per convincersi della duttilita del concetto di struttura puo essere utile cercare di analizzare in termini di strutture varie realta concrete della nostra esperienza, individuando prima gli elementi dell'insieme coinvolto, quindi le funzioni e le relazioni che li legano. E' sorprendente quanto di ogni specica situazione possa essere travasato in una struttura: piu la nostra analisi sara dettagliata, maggiore sara il numero delle costanti, delle funzioni e delle relazioni coinvolte nella rappresentazione. 2.2 Iso e monomorsmi Gli individui che appartengono al dominio di una struttura non sono tanto caratterizzati da una loro sostanza, quanto dai rapporti che li legano agli altri individui: un individuo e cio che e solo in virtu delle relazioni che lo legano agli altri. Quindi se una struttura e ottenuta da un'altra semplicemente sostituendo gli individui del dominio della prima con altri, e tuttavia mantenendo inalterato il loro comportamento rispetto a relazioni e funzioni, non la si dovra considerare come qualcosa di essenzialmente diverso dalla prima. Sulla base di questa osservazione possiamo concepire l'essenza di una struttura come cio che e invariante rispetto a questo tipo di sostituzione, ossia la forma generale dei rapporti in cui entrano tali individui in virtu delle funzioni e delle relazioni della struttura. La sostanza degli individui che la compongono diviene un fatto accidentale, un aspetto del tutto marginale della realta. Questo punto di vista da origine a un nuovo tipo di sostanza e porta in primo piano il linguaggio, mediante il quale vengono rappresentati i rapporti tra gli individui della struttura, come strumento di individuazione della natura profonda degli oggetti. Per chiarire questo punto di vista consideriamo la struttura A = (A; ) dove 36 Capitolo 2. Strutture A = P(fa; b; cg) e e la relazione di inclusione, e la struttura B = (B; j) dove B = f1; 2; 3; 5; 6; 10;15;30g e j la relazione \divide". Adottando la rappresentazione introdotta nel paragrafo 1.4 per gli insiemi parziali, le due strutture possono essere ragurate nel modo seguente: fa; b; cg ; @@ ; @ ; fa; bg fa; cg fb; cg @@; @@; ;@ ;;@ ; fag fbg fcg @@ ; ; @;; 30 ; @@ ; ; 10 @15 6 @@; @@; ;@ ;;@ ; 2 3 5 @@ ; ; @1; Deniamo ora una biiezione ' : A ! B che associ ad ogni punto di A il punto omologo di B. E evidente allora che, per ogni x; y 2 A, x y sse '(x)j'(y): due insiemi sono inclusi l'uno nell'altro sse il numero che e immagine del primo divide il numero che e immagine del secondo. Comunque si scelga un oggetto in A, le sue relazioni con gli oggetti di A si rispecchiano esattamente nelle relazioni che la sua immagine in B intrattiene con le immagini in B degli altri oggetti di A. Che cosa distingue le due strutture? Solo la natura degli oggetti del dominio, ma non la forma dei rapporti che gli oggetti intrattengono fra di loro. Si osservi che nel passaggio da A a B sono conservati anche i rapporti negativi, oltre a quelli positivi: il fatto chefbg * fa; cg si riette in 3 - 10. Consideriamo un altro esempio in cui le strutture in gioco contengono funzioni e costanti : sia C = (P (A); \; [; ;; A) dove A = fa; bg e \ e [ sono le usuali operazioni di intersezione e unione, e sia D = (B; MCD; mcm; 1; 6) dove B = f1; 2; 3; 6g e MCD e mcm sono rispettivamente le operazioni di \massimo comun divisore" e \minimo comune multiplo". (Si noti che le due strutture hanno lo stesso tipo dato che sono costituite entrambe da due funzioni binarie e da due costanti.) Deniamo ora una biiezione : P(A) ! B ponendo (;) = 1, (fag) = 2, (fbg) = 3, (fa; bg) = 6. Le due tabelle seguenti rappresentano le funzioni \ e MCD: MCD 6 3 2 1 \ fa; bg fag fbg ; fa; bg fa; bg fag fbg ; 6 6 3 2 1 fag fag fag ; ; 3 3 3 1 1 fbg fbg ; fbg ; 2 2 1 2 1 ; ; ; ; ; 1 1 1 1 1 Si noti che gli elementi della seconda tabella sono ottenuti dagli elementi omologhi della prima mediante l'applicazione di . Lo stesso si verica per le due tabelle seguenti, che rappresentano rispettivamente [ e mcm: 2.2. Iso e monomorsmi [ fa; bg fag fbg ; fa; bg fag fbg ; fa; bg fa; bg fa; bg fa; bg fa; bg fag fa; bg fag fa; bg fa; bg fbg fbg fa; bg fag fbg ; 37 mcm 6 3 2 1 6 6 6 6 6 3 6 3 6 3 2 6 6 2 2 1 6 3 2 1 Cio signica che se si sostituiscono gli insiemi coi numeri, secondo il criterio fornito da , intersecare e come calcolare il massimo comun divisore, riunire e come calcolare il minimo comune multiplo. In altri termini, per ogni x; y 2 P (A) (x \ y) = MCD( (x); (y)) e (x [ y) = mcm( (x); (y)): Il tipo di rapporto tra strutture illustrato dagli esempi precedenti si puo vedere come un trasferimento di forma da una struttura all'altra, ossia come un morsmo. In questo paragrafo studieremo alcuni dei principali tipi di morsmi: si tratta di relazioni fra strutture la cui importanza trascende l'algebra, se si pensa a quante delle nostre modalita conoscitive siano catalogabili come metafore, come \riconoscere che qualcosa e, sotto certi aspetti, anche qualcosa d'altro", a quante conoscenze mirino a stabilire qualche tipo di \identita di struttura". Per prima cosa sottolineiamo che si parla di morsmi solo fra strutture del medesimo tipo, infatti le strutture di tipo , per quanto diversi possano essere i loro domini, sono accomunate dal fatto di contenere solo relazioni, funzioni e costanti descrivibili coi simboli di e cio ci permette di individuare in esse le relazioni, le funzioni e le costanti corrispondenti, ossia denotate dal medesimo simbolo. Quindi, se A e B sono due strutture di tipo e R e un simbolo relazionale di , le relazioni RA e RB sono corrispondenti. In modo analogo parleremo di funzioni e di costanti corrispondenti. Gli oggetti corrispondenti, per quanto diversi fra loro, avranno la stessa arieta. Ogni morsmo da A verso B presenta le caratteristiche seguenti: a) esiste una funzione ' : A ! B che crea un'immagine del dominio di A entro il dominio di B, b) le immagini degli individui di A giocano i medesimi ruoli rispetto alle relazioni, alle funzioni e alle costanti corrispondenti. Cio signica che, identicando RA con RB , F A con F B , cA con cB e a 2 A con '(a) 2 B, possiamo trasferire la forma di A entro B. Veniamo ora alla denizione formale. Date A e B dello stesso tipo = (fRigi2I ; fFj gj 2J ; fck gk2K ), diremo che una biiezione ' : A ! B e un isomorsmo se per ogni Ri , Fj e ck del tipo , per ogni a0; : : : ; an;1 2 A: i) RAi (a0 ; : : : ; an;1) sse RBi ('(a0 ); : : : ; '(an;1)), ii) '(FjA(a0; : : : ; an;1)) = FjB('(a0 ); : : : ; '(an;1)), iii) '(cAk ) = cBk . La struttura A e isomorfa a B se esiste un isomorsmo di A verso B. Se A e isomorfa a B, lo indichiamo scrivendo A ' B. E' facile vericare che la relazione di isomorsmo fra strutture di tipo e una relazione di equivalenza, ossia e riessiva, simmetrica e transitiva, quindi l'insieme di tutte le strutture di tipo puo essere ripartito in classi di equivalenza di strutture isomorfe tra loro. 38 Capitolo 2. Strutture Ai ni del nostro discorso strutture isomorfe sono considerate come la stessa struttura, quindi ogni volta che parleremo di A in realta il discorso varra per tutte le strutture della classe di equivalenza di A rispetto a '. Il lettore dovrebbe ritornare agli esempi precedenti e vericare che ' e sono eettivamente degli isomorsmi, rispettivamente, tra A e B e tra C e D. Nel primo caso occorrera vericare la i), mentre nel secondo caso occorrera vericare la ii) e la iii). (Lo schema della ii) si riproduce in modo piu evidente, se scriviamo \(x; y) invece di x \ y e [(x; y) invece di x [ y.) L'esempio seguente dovrebbe chiarire come le costanti contribuiscano a costituire quella \forma" che deve essere conservata nei morsmi. Se A = (!; <; cA) e B = (! ;f0g; <; cB ), l'esistenza di un isomorsmo dipende dall'interpretazione della costante c. Se cA e cB sono il medesimo oggetto, per esempio il numero 1, non esiste isomorsmo tra A e B. Se esistesse dovrebbe valere '(cA ) = cB . Come scegliere ora '(0)? Comunque si ponga '(0) = n, dovra essere n > 1 e questo impedisce che la relazione 0 <A cA sia conservata da ', dato che non potra valere '(0) <B cB . Per avere isomorsmo occorre che cA e cB giochino il medesimo ruolo rispetto alla relazione denotata da <, quindi se interpretiamo cA come 1, cioe come secondo elemento di A, occorre che cB sia 2, il secondo elemento di B. A questo punto la funzione '(n) = n + 1 puo connettere gli elementi di A a quelli di B in modo che le relazioni siano conservate. Se nella denizione di isomorsmo richiediamo solo che ' sia iniettiva (e non necessariamente suriettiva), otteniamo il concetto di monomorsmo . Diremo che A e immergibile in B se esiste un monomorsmo di A verso B. Se ' : A ! B e un monomorsmo, possiamo utilizzare ' per creare una nuova struttura C di dominio '[A] nel modo seguente: per ogni x0; : : : ; xn;1 2 '[A] deniamo 1. RC (x0; : : : ; xn;1) sse RA (';1 (x0); : : : ; ';1 (xn;1)), 2. F C (x0 ; : : : ; xn;1) = '(F A (';1 (x0); : : : ; ';1(xn;1))), 3. cC = '(cA ). Talvolta indicheremo C con '[A] per sottolineare che si tratta di una struttura indotta da '. E immediato vericare che C e dello stesso tipo di A e B, e che ' e un isomorsmo tra A e C : quindi ogni monomorsmo ' : A ! B permette di ritagliare in B una struttura isomorfa ad A. Date due strutture B e C del medesimo tipo, diremo che C e sottostruttura di B, in simboli C B, se C B e per ogni simbolo di relazione R, di funzione F e di costante c, 1. RC e la restrizione a C n di RB , ossia RC = C n \ RB , 2. F C e la restrizione a C n di F B , ossia F C = F B C n, 3. cC = cB . I due teoremi seguenti illustrano i rapporti tra monomorsmo, isomorsmo e sottostruttura e permettono di concepire il concetto di monomorsmo come generalizzazione di quello di sottostruttura. 2.2. Iso e monomorsmi 39 Teorema 2.2.1 La funzione ' : A ! B e un monomorsmo sse esiste una struttura C tale che ' e un isomorsmo tra A e C e C B. La prima implicazione si dimostra ponendo C = '[A], la struttura indotta da ' tramite le 1)-3) precedenti. Si verica facilmente che C e sottostruttura di B. Per la seconda, osserviamo che se ' : A ! C e un isomorsmo e C B, allora C B e ' e una funzione iniettiva da A verso B. Dimo- striamo che e un monomorsmo. Abbiamo infatti RA(a0 ; : : : ; an;1) se e solo se RC ('(a0 ); : : : ; '(an;1)), perche ' e un isomorsmo, e RC ('(a0); : : : ; '(an;1)) se e solo se RB ('(a0); : : : ; '(an;1)), perche RC e la restrizione di RB a '[A]. Per quanto riguarda le funzioni, '(F A(a0 ; : : : ; an;1)) = F C ('(a0 ); : : : ; '(an;1)) = F B ('(a0 ); : : : ; '(an;1)); essendo ' un isomorsmo e F C la restrizione di F B a '[A]. Per quanto riguarda le costanti, '(cA ) = cC = cB . Corollario 2.2.2 A B sse iA : A ! B e un monomorsmo. Per il teorema precedente, iA e un monomorsmo sse esiste una struttura C tale che iA : A ! C e un isomorsmo e C B. Ma poiche il monomorsmo e l'identita, C coincide con A. Non tutti i sottoinsiemi del dominio di una struttura A costituiscono il dominio di una sottostruttura di A. Se B A pretende di essere il dominio di una sottostruttura di A, allora B non deve essere vuoto e deve essere chiuso rispetto alle funzioni di A. (Ricordiamo che un insieme B A e chiuso rispetto a una funzione n-aria f se per ogni n-pla x0 ; :::; xn;1 di elementi di B vale f(x0 ; :::; xn;1) 2 B:) Solo cos, infatti, possiamo denire F B come la restrizione di F A alle n-ple di B. Mancando la chiusura, la restrizione risulterebbe indenita per qualche n-pla di elementi di B e non sarebbe quindi una funzione. Inoltre B deve contenere tutte le costanti di A, perche solo cos possiamo denire cB = cA: Se consideriamo le costanti come funzioni 0-arie, quest'ultima condizione si riduce alla chiusura. Supponiamo, ad esempio, che A sia (Z; +A ; ;A) e che sia ! = X. E' chiaro che X non puo essere il dominio di una sottostruttura di A dato che non e chiuso rispetto a ;A . E' vero che possiamo sempre denire una funzione 2-aria f simile alla sottrazione ponendo A n) se n m f(m; n) = ; (m; 0 altrimenti. Ma allora la struttura B = (!; +B ; ;B ), dove ;B e f, non e sottostruttura di A perche ;B non coincide con la restrizione di ;A alle coppie di elementi di !. Ad esempio, ;A (1; 2) = ;1 mentre ;B (1; 2) = 0. Se A e (Z; +A), allora !, essendo chiuso rispetto alla somma,e il dominio di una sottostruttura. Problemi analoghi possono sorgere con le costanti. Se A e (!; +A; 0A) allora ! ; f0g e 40 Capitolo 2. Strutture chiuso rispetto alle funzioni di A, ma non ne contiene le costanti. Comunque si denisca una struttura B = (! ; f0g; +B ; 0B ), possiamo ottenere che +B sia la restrizione di +A a B, ma non possiamo avere 0B = 0A . Le relazioni, invece, non pongono problemi di questo tipo: per ogni B A e ogni relazione n-aria RA su A, e sempre possibile denire RB come la restrizione di RA a B n , dato che RA \ B n e sempre una relazione su B. (Anche ; e una relazione su B.) Tuttavia, se X A non e il dominio di una sottostruttura di A, e sempre possibile estenderlo quanto basta per renderlo tale. Innanzitutto osserviamo che, sotto opportune condizioni, possiamo introdurre il concetto di intersezione di strutture. Data una famiglia non vuota di struttureTfAi gi2I , se le varie Ai sono tutte sottostrutture della stessa A di tipo e se fAig 6= ;, allora possiamo T denire fAigi2I come la struttura B di tipo tale che T 1. B = fAigi2I , 2. RB (b0; :::; bn;1) sse RA(b0 ; :::; bn;1), 3. F B (b0 ; :::; bn;1) = F A(b0 ; :::; bn;1), 4. cB = cA . Verichiamo che le condizioni precedenti deniscono eettivamente una struttura. Il primo punto stabilisce il dominio, che risulta essere non vuoto, il secondo stabilisce che le relazioni di B sono semplicemente la restrizione a B delle relazioni di A. Il terzo punto e piu delicato, perche occorre vericare che, per ogni b0; : : : ; bn;1 2 B, il valore di F A per tale argomento sia ancora in B. Poiche b0; : : : ; bn;1 appartengono a B, appartengono anche ad ogni Ai e quindi ogni Ai contiene il valore di F A per l'argomento b0 ; : : : ; bn;1. D'altra parte ogni Ai e sottostruttura di A e quindi F A (b0 ; : : : ; bn;1) coincide sempre con F A (b0; : : : ; bn;1). Ne segue che quest'ultimo appartiene ad ogni Ai e quindi a B. Le stesse considerazioni valgono per il quarto punto. E chiaro allora che B e una struttura ed inoltre e sottostruttura di ogni Ai , e quindi di A. Siamo ora in grado diTdenire, per ogni B A, B 6= ;, la sottostruttura generata da B in A come fC : C A; B C g. La denizione e corretta, dato che la famiglia di strutture in questione non e vuota, perche contiene almeno A, e inoltre l'intersezione dei domini delle varie C non e vuota, poiche ognuno deve includere B 6= ;. Dalla denizione risulta immediatamente che la sottostruttura generata da B in A e anche la minima sottostruttura di A che includa B ed e quindi ottenuta estendendo B quanto basta per ottenere un insieme chiuso rispetto alle funzioni di A e contenente le costanti di A. Ci sono due casi limite di sottostruttura generata da B in A. Nel primo, il dominio della sottostruttura generata coincide con B: in questo caso B era il sostegno adatto per una sottostruttura di A senza che fosse necessario aggiungere nulla. Nel secondo, il dominio della sottostruttura generata e A: in questo caso si sono dovuti aggiungere tutti gli elementi di A ; B per ottenere una sottostruttura. In questo secondo caso diremo che B e un insieme di generatori per A. i i 2.2. Iso e monomorsmi 41 Consideriamo, ad esempio, la struttura A = (!; S A ). Per ogni B !, la sottostruttura generata da B in A ha come dominio l'insieme dei numeri naturali maggiori o uguali al minimo di B. Se A = (!; S A ; 0A), per ogni B ! la sottostruttura generata da B coincide con A poiche dovra contenere lo zero ed essere chiusa rispetto alla funzione successore. Quindi una struttura puo avere diversi insiemi di generatori: in quest'ultimo esempio ogni sottoinsieme del dominio e un insieme di generatori. Esercizio 2.2.1 Si dimostri che ogni struttura (A; ), dove e un ordine parziale, e isomorfa a una struttura (B; ) dove e l'inclusione insiemistica. (Si associ ad a 2 A l'insieme fb : b ag.) Esercizio 2.2.2 Si determini se A e immergibile in B, se A ' B, se A B in ognuno dei casi seguenti: A = (!; ) e B = (Z; ), A = (!; +; ) e B = (Z; +; ), A = (!; +; ) e B = (Z; ; +); A = (!; +; 0) e B = (!; ; 1). Esercizio 2.2.3 Si determini se A e immergibile in B quando 1. A= (!; ; ; 1) e B= (!; ; +; 0). 2. A =(! ; f0g; ; ; 1) e B= (!; ; +; 0). 3. A =(! ; f0g; ; 1) e B =(!; +; 0). Esercizio 2.2.4 Sia A = (P(fa; bg; \; [) e B = (P (fa; b; cg; \; [). Si dimostri che A B. Supponiamo che A0 e B0 siano ottenute aggiungendo alle strutture precedenti l'operazione di complemento: si dimostri che A0 6 B0 . Esercizio 2.2.5 Si dimostri che la relazione A ' B e di equivalenza e che la relazione A B e un ordine parziale. Esercizio 2.2.6 Deniamo R(A; B) sse A e immergibile in B. Si dimostri che: 1. 2. 3. 4. 1. R e riessiva e transitiva ma non antisimmetrica; 2. R(A; B) e R(B; A) non implica A ' B. (Si considerino Q e Q+ con .) Esercizio 2.2.7 (Questo esercizio richiede alcuni risultati di aritmetica cardi- nale.) Sia A un insieme di cardinalita innita . Si determini il numero di strutture distinte di dominio A (vale a dire strutture ottenute con dierenti interpretazioni dei simboli del tipo) nei casi seguenti: 1. = (fcg) [] 42 Capitolo 2. Strutture 2. = (fck gk2K ) 3. = (fF0 g) 4. = (fFj gj 2J ) 5. = (fR0g) 6. = (fRi gi2I ) [jK j ] [2] [2+jJ j ] [2] [2+jI j ] Esercizio 2.2.8 Sia j j = supfjI j; jJ j; jK jg. Se e il cardinale di A ed e innito, si dimostri che esistono al piu 2supf;j jg strutture non isomorfe di tipo e dominio A. 2.3 Omomorsmi Il concetto di omomorsmo si ottiene da quello di monomorsmo lasciando cadere la richiesta di iniettivita della funzione. Quindi l'uguaglianza '(x) = '(y) e compatibile sia con x = y sia con x 6= y, mentre x = y implica necessariamente '(x) = '(y). Questo comportamento della relazione di identita, per cui a punti identici devono corrispondere immagini identiche mentre immagini identiche possono provenire da punti distinti, e esteso a tutte le relazioni della struttura e si esprime nella prima condizione della denizione seguente che e un indebolimento della corrispondente condizione nella denizione di monomorsmo. Date due strutture A e B dello stesso tipo, diremo che una funzione ' : A ! B e un omomorsmo se per ogni Ri, Fj e ck del tipo , per ogni a0 ; : : : ; an;1 2 A: i) se RAi (a0; : : : ; an;1) allora RBi ('(a0 ); : : : ; '(an;1)), ii) '(FjA(a0; : : : ; an;1)) = FjB ('(a0); : : : ; '(an;1)), iii) '(cAk ) = cBk . Diremo che ' e un omomorsmo forte se e possibile sostituire la i) con la condizione seguente che coincide con la condizione corrispondente nella denizione di monomorsmo: i') RAi (a0; : : : ; an;1) sse RBi ('(a0); : : : ; '(an;1)). Se A e B sono strutture algebriche, ossia sono prive di relazioni, la distinzione tra omomorsmo e omomorsmo forte non ha piu luogo e diremo semplicemente che ' e un omomorsmo se verica le condizioni ii) e iii). Se A e B sono ordini parziali, un omomorsmodi A verso B e una funzione ' : A ! B tale che x A y implica '(x) B '(y). Nella gura seguente ' e un esempio di omomorsmo tra ordini parziali, ma non e un omomorsmo forte: 43 2.3. Omomorsmi e ; @@ ; @d ; c @@ ; ; @b; '(e) '(c); '(d) a '(a); '(b) Come esempio di omomorsmo tra strutture algebriche consideriamo le due strutture A = (P(A); \; [; A; ;) e B = (P(B); \; [; B; ;) dove B A e la funzione ' : P (A) ! P(B) denita ponendo '(X) = X \ B per ogni X A. Verichiamo che ' conserva le operazioni e le costanti: '(X \ Y ) = (X \ Y ) \ B = (X \ B) \ (Y \ B) = '(X) \ '(Y ); '(X [ Y ) = (X [ Y ) \ B = (X \ B) [ (Y \ B) = '(X) [ '(Y ); '(A) = A \ B = B; '(;) = ; \ B = ;: Mentre iso e monomorsmi forniscono immagini che sono copie esatte del dominio, l'immagine fornita dall'omomorsmo, proprio perche fornita da una semplice funzione, e costituita da oggetti che possono essere visti come rappresentanti di classi di equivalenza di individui del dominio. Nel paragrafo dedicato alle relazioni di equivalenza abbiamo visto che ad ogni relazione di equivalenza su A e associato un insieme quoziente A= i cui elementi sono esattamente le classi di equivalenza degli elementi di A. Se immaginiamo che A sia l'insieme degli esseri umani e la relazione \x e nato nello stesso anno di y", allora gli elementi di A= sono le classi di tutti gli esseri umani nati nel medesimo anno. Il passaggio da A a A= e del tipo molti-uno: molti individui vengono radunati sotto un unico aspetto e da essi si astrae un nuovo tipo di individuo, la classe di equivalenza. Supponiamo ora che A sia il dominio di una struttura A. Ci si puo chiedere se i rapporti che valgono fra gli elementi di A, stabiliti dalle funzioni e dalle relazioni di A, sono estendibili a rapporti tra le classi di equivalenza in modo che la struttura A induca una struttura dello stesso tipo su A= . Ad esempio, se A e l'insieme degli esseri umani e tra gli elementi di A e stabilita la relazione \x e piu vecchio di y", e possibile estendere questa relazione a una relazione R tra classi di equivalenza denita ponendo [x]R[y] sse x e piu vecchio di y? La cosa e sensata, dato che se x e piu vecchio di y, allora anche tutti gli elementi di [x] sono piu vecchi degli elementi di [y], quindi il comportamento degli elementi delle classi di equivalenza e omogeneo rispetto alla relazione R. D'altra parte non e sempre lecito questo passaggio alle classi di equivalenza. Consideriamo la relazione \x ama y". Non e detto che, se x ama y, anche tutti 44 Capitolo 2. Strutture gli esseri umani nati nello stesso anno di x amino tutti gli esseri umani nati nello stesso anno di y, quindi questa relazione non e estendibile a A=. Analogo discorso si puo fare per le funzioni. Cerchiamo ora di ssare le caratteristiche di una relazione e di una funzione estendibile alle classi di equivalenza. Diremo che una relazione binaria e una congruenza su A se e una relazione di equivalenza su A e inoltre, per ogni funzione F A e ogni relazione RA , se ai bi per ogni i < n, allora 1. F A(a0 ; : : : ; an;1) F A(b0 ; : : : ; bn;1), 2. RA (a0 ; : : : ; an;1) implica RA (b0; : : : ; bn;1). Si osservi che, essendo simmetrica, nella 2) possiamo sostituire \implica" con \sse". Ogni congruenza su A induce una struttura su A= nel modo seguente. Deniamo struttura quoziente di A modulo la struttura B dello stesso tipo di A avente dominio B = A= e tale che, per ogni simbolo di costante c, di funzione F, di relazione R, 1. 2. 3. cB = [cA], F B ([a0 ]; : : : ; [an;1]) = [F A(a0; : : : ; a ; n ; 1)], RB ([a0]; : : : ; [an;1]) sse RA(a0 ; : : : ; an;1). E immediato vericare che le funzioni e le relazioni di B risultano ben denite sulle classi di equivalenza proprio perche e una congruenza. Solitamente si indica B con A=. La caratteristica fondamentale della congruenza, vale a dire l'essere compatibile con le relazioni e le funzioni di A, rende possibile un trasferimento di struttura da A verso la struttura quoziente A=. Per ogni congruenza su A deniamo una funzione ' : A ! A= ponendo ' (a) = [a]. Teorema 2.3.1 Se e una congruenza su A, allora ' e un omomorsmo forte suriettivo da A verso A=. Semplichiamo la notazione ponendo A= = B. Per quanto riguarda le relazioni, RA(a0 ; : : : ; an;1) sse RB ([a0]; : : : ; [an;1]) sse RB (' (a0 ); : : : ; ' (an;1 )): Per quanto riguarda le funzioni, '(F A(a0 ; : : : ; an;1)) = [F A(a0 ; : : : ; an;1)] = F B ([a0]; : : : ; [an;1]) = F B (' (a0 ); : : : ; ' (an;1 )): Per quanto riguarda le costanti, ' (cA ) = [cA ] = cB . 2.3. Omomorsmi 45 Abbiamo visto che il risultato di una congruenza, cioe il passaggio a una struttura quoziente, e sempre ottenibile come immagime omomorfa della struttura di partenza, poiche A= coincide con ' [A]. Mostriamo ora che ogni immagine omomorfa e ottenibile quozientando la struttura di partenza con un'opportuna congruenza. Ad ogni funzione ' : A ! B e associata una relazione binaria ' su A denita ponendo x ' y sse '(x) = '(y). Teorema 2.3.2 Se ' : A ! B e un omomorsmo forte, allora ' e una congruenza su A. Dato che = e una relazione di equivalenza, anche ' lo e. Supponiamo che ai ' bi per ogni i < n, e quindi che '(ai ) = '(bi ). Poiche ' e un omomorsmo, per ogni simbolo funzionale F '(F A (a0 ; : : : ; an;1)) = F B ('(a0); : : : ; '(an;1)) = F B ('(b0); : : : ; '(bn;1)) = '(F A (b0; : : : ; bn;1)): Quindi F A(a0; : : : ; an;1) ' F A(b0 ; : : : ; bn;1). Poiche ' e un omomorsmo forte, per ogni simbolo relazionale R abbiamo RA (a0; : : : ; an;1) implica RB ('(a0 ); : : : ; '(an;1)) implica RB ('(b0 ); : : : ; '(bn;1)) implica RA (b0; : : : ; bn;1): Si osservi che l'ultimo passaggio richiede che ' sia forte. Teorema 2.3.3 Se ' : A ! B e un omomorsmo forte suriettivo, esiste un isomorsmo tra A=' e B. Per il teorema precedente ' e una congruenza su A e quindi possiamo considerare la struttura quoziente A= ' . Come abbiamo visto nel teorema 1.4.3, la funzione : A=' ! B denita ponendo ([a]) = '(a) e una biiezione. Dimostriamo che e anche un isomorsmo. Per brevita poniamo C = A= ' , abbiamo allora (F C ([a0]; : : : ; [an;1])) = ([F A(a0 ; : : : ; an;1)]) = '(F A(a0 ; : : : ; an;1)) = F B ('(a0 ); : : : ; '(an;1)) = F B ( [a0]; : : : ; [an;1]) Per quanto riguarda le relazioni abbiamo RC ([a0 ]; : : : ; [an]) sse RA (a0 ; : : : ; an;1) sse RB ('(a0 ); : : : ; '(an;1)) sse RB ( [a0 ]; : : : ; [an;1]): La situazione e illustrata dalla gura seguente, dove indica la funzione da A verso A=' che associa ad ogni a 2 A la sua classe [a] modulo ' . 46 Capitolo 2. Strutture AQ - A=R QQ 'Q QQs ? B ' = Congruenze e omomorsmiforti sono due aspetti diversi di una medesima realta. La congruenza eettua una costruzione col materiale fornito dalla struttura di partenza, organizzandolo in classi di equivalenza in modo tale che si conservino funzioni e relazioni della struttura, mentre l'omomorsmo produce un'immagine \esterna" alla struttura data, ma i teoremi precedenti garantiscono l'equivalenza tra queste due operazioni che riproducono, nelle sue linee fondamentali, la procedura di astrazione. Procedere per astrazione conduce alla formazione di nuovi enti, le classi di individui identicabili rispetto alle caratteristiche da cui si astrae, ma l'astrazione si rivela particolarmente feconda dal punto di vista conoscitivo quando la classicazione riproduce alcuni aspetti strutturali rilevanti della realta da cui eravamo partiti, cioe quando funzioni e relazioni vigenti tra le classi rispecchiano un'analoga strutturazione dei dati iniziali. E questo e, a piacere, omomorsmo o congruenza. Esercizio 2.3.1 Si dimostri che, nel caso degli ordini, un omomorsmo forte e addirittura un monomorsmo. 2.4 Reticoli e algebre di Boole In questo paragrafo presenteremo due classi di strutture particolarmente importanti nello studio della logica: i reticoli e le algebre di Boole. Gli assiomi che le individuano sono ispirati dalle proprieta che caratterizzano le operazioni insiemistiche fondamentali e la genesi di tali assiomi fornisce un esempio di come si costituiscano le moderne teorie assiomatiche. Se consideriamo i sottoinsiemi di W come oggetti di studio, possiamo dapprima considerare fondamentali le operazioni di unione e intersezione e quindi organizzare P(W) nella struttura R(W ) = (P(W); \; [) di tipo (^; _), dove ^, _ sono simboli funzionali binari. Il tipo permette una prima rozza classicazione delle strutture: scegliendo il tipo dichiariamo con quale linguaggio intendiamo studiare la realta, quali rapporti fra gli oggetti siamo disposti a considerare come fondamentali. Esistono tuttavia innite strutture di tipo (^; _) che nulla hanno a che vedere con gli insiemi, ad esempio (Z; +; ). Se vogliamo caratterizzare meglio il nostro oggetto di studio, possiamo isolare alcune proprieta fondamentali delle funzioni di R(W). Si ottiene cosi il seguente insieme L di assiomi: i) x ^ y = y ^ x e x _ y = y _ x (commutativita), ii) (x ^ y) ^ z = x ^ (y ^ z) e (x _ y) _ z = x _ (y _ z) (associativita), iii) (x ^ y) _ y = y e (x _ y) ^ y = y (assorbimento), 2.4. Reticoli e algebre di Boole 47 Se A e una struttura di tipo , diremo che tali assiomi sono veri in A se, interpretando ^ come ^A e _ come _A, otteniamo equazioni soddisfatte da ogni possibile sostituzione delle variabili x, y, z con oggetti di A. Se tutti gli assiomi di L sono veri in A, diremo che A e un modello degli assiomi L, ossia che A e un reticolo . Si verica facilmente che R(W) e un reticolo: basta rimpiazzare ^ con \ e _ con [. Quando W = 1 otteniamo un reticolo particolarmente importante, che indichiamo con 2, poiche il suo dominio e P (1), ossia P (f;g) = f;; f;gg = f0; 1g = 2. Non tutti i reticoli hanno domini costituiti da insiemi strutturati dalle usuali operazioni insiemistiche: basta considerare l'algebra A in cui A = fx : x divide 30g, ^A = MCD, _A = mcm. Lasciamo al lettore il compito di vericare che Z non e un modello dell'insieme di assiomi L. Per ogni proposizione riguardante i reticoli, deniamo come la proposizione ottenuta sostituendo in i simboli ^ con _ e _ con ^. Diremo che e la duale di . Si verica facilmente che se e un assioma di L anche lo e. Cio signica che se A = (A; ^A; _A) e un reticolo, anche la struttura A = (A; _A; ^A) lo e. Possiamo allora giusticare il seguente principio di dualita : ogni volta che abbiamo dimostrato che la proposizione e vera in ogni reticolo, sappiamo che anche e vera in ogni reticolo. (Basta osservare che per ipotesi a vera in ogni reticolo e quindi anche in A , ma allora e vera in A = A.) Tale principio dimezza l'impegno dimostrativo: tutte le volte che abbiamo dimostrato un teorema , vale anche il teorema duale . E possibile esprimere la relazione X Y senza fare riferimento agli elementi di X e di Y : infatti, se deniamo una relazione XRY sse X \ Y = X, si dimostra facilmente che R coincide con . Se ora ci collochiamo in un reticolo qualsiasi, che cosa possiamo dire in generale di una relazione denita ponendo x y sse x ^ y = x? Il signicato di e legato a quello di ^ che a sua volta dipende solamente dagli assiomi di reticolo, ma tali assiomi sono sucienti a dimostrare che e un ordine. Teorema 2.4.1 In ogni reticolo valgono le equazioni seguenti: 1. x ^ x = x e x _ x = x (idempotenza), 2. x ^ y = x sse x _ y = y. 1. Usando gli assiomi i) e iii): x ^ x = x ^ (x _ (y ^ x)) = x. L'altra equazione si ottiene per dualita. 2. Usando l'assioma iii), se x ^ y = x allora x _ y = (x ^ y) _ y = y. Usando gli assiomi i) e iii), se x _ y = y allora x ^ y = x ^ (x _ y) = (y _ x) ^ x = x. Teorema 2.4.2 La relazione x y sse x ^ y = x e un ordine. Per il punto 1) del teorema precedente e riessiva. Per l'assioma i) e antisimmetrica: infatti da x y e y x segue x ^ y = x e y ^ x = y, ma per la commutativita x ^ y = y ^ x. Per l'assioma ii) e transitiva. Infatti da x y e y z otteniamo x ^ y = x e y ^ z = y. Sostituendo e usando l'associativita otteniamo x z, dato che x = x ^ y = x ^ (y ^ z) = (x ^ y) ^ z = x ^ z: 48 Capitolo 2. Strutture Teorema 2.4.3 Le operazioni ^ e _ sono monotone rispetto a , vale a dire se x y allora x ^ z y ^ z e x _ z y _ z . Se x y allora x ^ y = x e quindi (x ^ y) ^ z = x ^ z. Utilizzando commutativita, associativita e idempotenza abbiamo allora (x ^ z) ^ (y ^ z) = (x ^ y) ^ z = x ^ z, da cui x ^ z y ^ z. In modo analogo si procede con _. Quindi a ogni reticolo possiamo associare un insieme ordinato avente lo stesso dominio e strutturato da una relazione d'ordine x y che puo essere denita indierentemente da x ^ y = x o da x _ y = y. Torniamo ora alla realta insiemistica da cui siamo partiti per ricavarne altre signicative proprieta di \ e di [. Osserviamo che vale la distributivita di \ su [ e da essa ricaviamo l'assioma iv) x ^ (y _ z) = (x ^ y) _ (x ^ z) (distributivita di ^ su _). Diremo che una struttura A e un reticolo distributivo se in essa valgono gli assiomi i)-iv). Il teorema seguente mostra che non e necessario assumere anche la distributivita duale. Teorema 2.4.4 In ogni reticolo, se vale iv) allora vale anche iv) e viceversa. Utilizzando iv), iii) e i) otteniamo (x _ y) ^ (x _ z) = = = = ((x _ y) ^ x) _ ((x _ y) ^ z) x _ (z ^ (x _ y)) x _ (z ^ x) _ (z ^ y) x _ (z ^ y): Assumendo iv) si ottiene iv) con una dimostrazione duale. Tutti gli esempi di reticolo introdotti nora sono distributivi, ma vedremo in seguito che non tutti i reticoli lo sono. La distributivita e comunque una proprieta che caratterizza fortemente la realta insiemistica che ha ispirato i nostri assiomi, e infatti possibile dimostrare il seguente teorema di rappresentazione: ogni reticolo distributivo e isomorfo a una sottostruttura di R(W), per un'opportuna scelta di W (si veda, ad esempio, [Davey-Priestley 90, teorema 10.3]). Un altro aspetto importante di P (W) che possiamo tradurre negli assiomi e la presenza di un insieme massimo e di un insieme minimo rispetto a , rispettivamente W e ;. Per ogni X 2 P(W ) vale X W e ; X e tali proprieta di W e di ; si esprimono in termini di [ e di \ mediante le equazioni X [ W = W e X \ ; = ;. Se espandiamo il tipo dei reticoli con l'aggiunta di due simboli di costante 1 e 0, possiamo riprodurle nei due assiomi seguenti: M) x _ 1 = 1, m) x ^ 0 = 0. 2.4. Reticoli e algebre di Boole 49 Chiameremo reticolo limitato ogni reticolo in cui valgano anche gli assiomi M) e m). Si vede immediatamente che in ogni reticolo limitato A gli elementi 0A e 1A sono rispettivamente il minimo e il massimo rispetto alla relazione associata al reticolo. Tutti gli esempi di reticoli che abbiamo mostrato possono essere espansi a reticoli limitati, con l'introduzione di due costanti denite in modo da rendere veri gli assiomi di massimo e minimo, ma vedremo in seguito che non tutti i reticoli sono limitati. Nel caso dei reticoli limitati, la duale di una proposizione si ottiene scambiando ^ con _, _ con ^, 0 con 1 e 1 con 0. L'ultimo aspetto di P(W) che vogliamo rispecchiare negli assiomi e l'esistenza del complemento. Se pensiamo P(W ) strutturato come l'algebra dell'insieme potenza B(W ), vediamo che per ogni X 2 P (W) esiste un elemento di P(W ), indicato con ;X, tale che X \ ;X = ; e X [ ;X = W. Se espandiamo il tipo dei reticoli limitati con l'aggiunta di un simbolo funzionale unario :, possiamo tradurre le equazioni precedenti nei seguenti assiomi: v) x ^ :x = 0 e x _ :x = 1. Indichiamo con BA l'insieme degli assiomi i)-v) e chiamiamo algebra di Boole una struttura A che sia modello degli assiomi BA. Quindi un'algebra di Boole e un reticolo distributivo in cui vale l'assioma v). Si verica facilmente che B(W ) e un'algebra di Boole: basta interpretare ^ su \, _ su [, : su ;, 0 su ;, 1 su W. Quando W = f;g otteniamo un'algebra di Boole particolarmente importante, che indichiamo ancora con 2, come il reticolo di due elementi. Il reticolo (A; MCD; mcm), dove A = fx 2 ! : x divide 30g, si puo espandere a un'algebra di Boole denendo :A(x) = 30=x, 0A = 1, 1A = 30. Anche per le algebre di Boole vale un teorema di rappresentazione analogo a quello dei reticoli distributivi : ogni algebra di Boole e isomorfa a una sottostruttura di B(W ), per un'opportuna scelta di W (si veda, ad esempio, [Davey-Priestley 90, teorema 10.4]). Il primo punto del teorema seguente mostra che ogni algebra di Boole e un reticolo limitato, poiche 0 e 1 soddisfano le condizioni poste dagli assiomi m) e M). D'ora in poi daremo le dimostrazioni in forma abbreviata, senza segnalare tutti gli assiomi o i teoremi precedenti utilizzati. Teorema 2.4.5 Le proposizioni seguenti valgono in ogni algebra di Boole: 1. x ^ 0 = 0 e x _ 1 = 1, ossia 0 x e x 1, 2. x ^ 1 = x e x _ 0 = x, 3. x = :y sse x _ y = 1 e x ^ y = 0, 4. x = ::x, 5. :(x ^ y) = :x _ :y e :(x _ y) = :x ^ :y (leggi di De Morgan), 6. x ^ y z sse x :y _ z , 7. x y sse :x _ y = 1. 50 Capitolo 2. Strutture 1. Usando gli assiomi v), ii) e l'idempotenza (teorema 2.4.1): x ^ 0 = x ^ (x ^ :x) = (x ^ x) ^ :x = x ^ :x = 0. L'altra equazione si ottiene per dualita. 2. Usando gli assiomi v), i) e iii): x ^ 1 = x ^ (x _ :x) = (:x _ x) ^ x = x. L'altra equazione si ottiene per dualita. 3. Se x = :y allora x _ y = :y _ y = 1, utilizzando i) e v); x ^ y = 1 si ottiene per dualita. Assumiamo ora x _ y = 1 e x ^ y = 0. Utilizzando gli assiomi v), iv), i) e il punto 2): x = = = = = = = = = x^1 x ^ (y _ :y) (x ^ y) _ (x ^ :y) 0 _ (x ^ :y) (y ^ :y) _ (x ^ :y) (:y ^ y) _ (:y ^ x) :y ^ (y _ x) :y ^ 1 :y: 4. Per il punto precedente, basta vericare che x _ :x = 1 e x ^ :x = 0, il che segue da v). 5. Basta dimostrare la prima equazione, perche la seconda si ottiene per dualita. Per dimostrare che :x _ :y = :(x ^ y) e suciente dimostrare, per il punto 3), che (:x _ :y) _ (x ^ y) = 1 e (:x _ :y) ^ (x ^ y) = 0. La prima e giusticata da (:x _ :y) _ (x ^ y) = (:x _ :y _ x) ^ (:x _ :y _ y) = 1^1 = 1 e la seconda e giusticata da (:x _ :y) ^ (x ^ y) = (:x ^ x ^ y) ^ (:y _ x ^ y) = 0^0 = 0: 6. Se x ^ y z allora (x ^ y) _ :y z _ :y per il teorema 2.4.3. Ma x x _ :y = (x _ :y) ^ (y _ :y) = (x ^ y) _ :y per la distributivita, l'assioma v) e il punto 2) e quindi x :y _ z. Se x :y _ z allora x ^ y (:y _ z) ^ y per il teorema 2.4.3. Ma (:y _ z) ^ y (:y ^ y) _ (z ^ y) = z ^ y y 2.4. Reticoli e algebre di Boole 51 per la distributivita, l'assioma v) e il punto 2). 7. Per il punto 2) l'asserzione x y equivale a 1 ^ x y, che equivale a 1 :x _ y per il punto 6), che inne equivale a 1 = :x _ y per il punto 1). Consideriamo ora P(W ) sotto un altro punto di vista, isolando come fondamentale la relazione di inclusione tra insiemi: la struttura che si ottiene e l'insieme ordinato (P (W); ). Ora il tipo contiene solo il simbolo relazionale binario e nel linguaggio associato al tipo possiamo formulare gli assiomi che caratterizzano la relazione di inclusione come ordine parziale: a1 ) x x (riessivita), a2 ) se x y e y x allora x = y (antisimmetria), a3 ) se x y e y z allora x z (transitivita). Indichiamo con OP l'insieme degli assiomi a1)-a3). Tali assiomi fanno si che in ogni modello A di OP la relazione A sia un ordine e quindi A sia un insieme ordinato. Anche per gli insiemi ordinati vale un principio di dualita analogo a quello dei reticoli, denendo la duale di una proposizione come la proposizione ottenuta da sostituendo con . Per giusticare questo principio basta osservare che ogni insieme ordinato A = (A; ) si trasforma in un altro insieme ordinato A = (A; ) tale che vale in A sse vale in A . Se adottiamo la rappresentazione graca degli insiemi ordinati del paragrafo 1.4, la rappresentazione di A si ottiene capovolgendo quella di A. Gli assiomi OP non colgono pero un aspetto importante di P(W ): la possibilita di formare intersezioni e unioni. Il fatto che ora il linguaggio non disponga di simboli funzionali binari per rappresentare \ e [ non signica che non si possano esprimere, nei termini di , le proprieta che caratterizzano X \ Y e X [ Y . Iniziamo da \ e osserviamo che X \ Y X e X \ Y Y . Inoltre, tra gli insiemi Z che sono simultaneamente inclusi in X e in Y , l'intersezione X \ Y e il massimo. Per quanto riguarda [ valgono le proprieta duali: X X [ Y e Y X [ Y e inoltre, tra gli insiemi Z che includono simultaneamente X e Y , l'unione X [ Y e il minimo. Da questa analisi possiamo ricavare gli assiomi seguenti: a4 ) per ogni x, y esiste uno z tale che: z x e z y e per ogni w, se w x e w y allora w z; a5) per ogni x, y esiste uno z tale che: x z e y z e per ogni w, se x w e y w allora z w. Un insieme ordinato in cui valgano gli assiomi a4) e a5 ) e detto reticolo, per ragioni che risulteranno chiare dal teorema seguente. Supponiamo che A sia un insieme ordinato. Se X A, diremo che un elemento a di A e un conne superiore di X se, per ogni x 2 X, vale x a. Sia X + l'insieme dei conni superiori di X: se X + ha un minimo, tale elemento e detto minimo conne superiore, o supremum, di X ed e denotato da sup X. Dualmente, deniamo conne inferiore di X un elemento a di A tale che, per ogni x 2 X, valga a x. 52 Capitolo 2. Strutture Indichiamo con X ; l'insieme dei conni inferiori di X: se X ; ha un massimo, tale elemento e detto massimo conne inferiore, o inmum, di X ed e denotato da inf X. Poiche il massimo e il minimo di un insieme, se esistono, sono unici, ne segue che inf X e sup X, se esistono, sono unici. Quindi in una struttura che renda veri gli assiomi a1)-a5 ) possiamo usare inf fx; yg e supfx; yg come funzioni binarie: gli assiomi a4 ) e a5 ) garantiscono l'esistenza del valore, l'antisimmetria l'unicita. Teorema 2.4.6 Se A = (A; ) e modello degli assiomi a1 )-a5 ) allora possiamo espandere il suo tipo con l'aggiunta di due simboli funzionali binari ^ e _ in modo tale che, interpretando ^ su inf fx; yg e _ su supfx; yg, la struttura (A; ^A ,_A) soddis gli assiomi L. La commutativita di ^ ossia inf fx; yg = inf fy; xg dipende dal fatto che fx; yg = fy; xg. La commutativita di _ si ottiene per dualita. Per dimostrare l'associativita di ^ ossia inf fx; inffy; z gg = inf finf fx; yg; z g osserviamo innanzitutto che inf fx; inffy; z gg = inf fx; y; z g: basta vericare che fx; inf fy; z gg; = fx; y; z g;. Analogamente si dimostra che inf finf fx; yg; z g = inf fx; y; z g. L'associativita di _ si ottiene per dualita. Dimostriamo che l'assioma (x ^ y) _ y = y e vero, ossia che supfinf fx; yg; yg = y. Osserviamo che inf fx; yg y e quindi y appartiene a finf fx; yg; yg+ . D'altra parte, per ogni z 2 finf fx; yg; yg+ vale y z e quindi y e il minimo tra i conni superiori di finf fx; yg; yg. Useremo quindi il termine reticolo per indicare sia una struttura per f^; _g in cui valgano gli assiomi L, sia una struttura per fg in cui valgano gli assiomi a1 )-a5), lasciando al contesto il compito di determinare quale delle due accezioni del termine stiamo usando. e d @ r ;@@ ; ; @@ ; a @ e c ; @@ ;; @; r r r r b r @ @@ d J JJ c ; JJ ;; J; r a r r r b Spesso conviene pensare un reticolo come un particolare insieme ordinato, perche in tal modo possiamo darne una rappresentazione graca intuitiva. La gura precedente presenta due reticoli nei quali non vale l'assioma di distributivita. Nel primo e ^ (a _ c) 6= (e ^ a) _ (e ^ c) nel secondo d ^ (a _ c) 6= (d ^ a) _ (d ^ c). 2.5. Denizioni induttive 53 Esercizio 2.4.1 Si dimostri che ogni catena (insieme totalmente ordinato) e un reticolo. Si fornisca quindi un esempio di reticolo non limitato. Esercizio 2.4.2 Se A = (A; ^; _) e B = (B; ^; _) sono due reticoli e ':A ! B e un omomorsmo, allora ' conserva anche la relazione d'ordine associata ai reticoli. Se A = (A; ) e B = (B; ) sono due reticoli e ':A ! B e un omomorsmo, allora ' in genere non conserva le operazioni inf e sup. Esercizio 2.4.3 Espandiamo un reticolo con due costanti 0 e 1 che soddisno i due assiomi seguenti: i) x ^ 1 = x, ii) x _ 0 = x. Si dimostri che il reticolo cosi ottenuto e limitato. Viceversa, si dimostri che in ogni reticolo limitato valgono i) e ii). Esercizio 2.4.4 Sia 2 il reticolo R(1) = (f0; 1g; \; [). Si dimostri che tutti i reticoli con due elementi sono isomor a 2. Si dimostri un risultato analogo per le algebre di Boole. Esercizio 2.4.5 Sia a un elemento ssato di A. Si dimostri che la funzione f : P (A) ! 2 denita ponendo, per ogni X A, a 2= X f(X) = 01 se se a 2 X e un omomorsmo da B(A) verso 2, dove 2 e l'algebra di Boole con due elementi. Esercizio 2.4.6 In ogni reticolo limitato A deniamo complemento di un elemento a un elemento a0 tale che a ^ a0 = 0 e a _ a0 = 1. Diremo che un reticolo e complementato se e limitato e ogni elemento ha un complemento. Si dimostri che in un reticolo complementato e distributivo ogni elemento ha un unico complemento. Quindi in ogni reticolo complementato e distributivo si puo espandere a un'algebra di Boole. 2.5 Denizioni induttive Tutti gli oggetti del nostro discorso sono insiemi, quindi ogni volta che si denisce un oggetto si tratta della denizione di un insieme. Fino a questo punto le denizioni adottate sono state sempre del tipo seguente: dato un insieme A e una proprieta P, deniamo fx : P(x)g come l'insieme degli elementi di A che godono di P . Diremo che l'insieme in questione e denito esplicitamente sulla base dell'insieme A dalla proprieta P . Ad esempio, l'insieme dei numeri pari puo essere denito sulla base dell'insieme dei numeri naturali ! considerando la proprieta \esiste un n 2 ! tale che n + n = x". Cerchiamo ora di immaginare l'insieme dei pari come il frutto di un processo generativo ne fornisca gli elementi in successione. Non e dicile immaginare una legge di generazione che operi all'interno di !: si parte da 0 e quindi si applica la funzione (x) = x + 2 ripetutamente ottenendo f0; (0); ( (0)); : : : g. E immediato riconoscere che 54 Capitolo 2. Strutture abbiamo ottenuto l'insieme dei numeri pari, anche se non e altrettanto immediato giusticare questo tipo di denizione. Gli elementi dell'insieme possiedono una descrizione uniforme, ma siamo ben lontani dall'avere una denizione esplicita, cioe una proprieta goduta da tutti e soli gli elementi dell'insieme. Sottolineiamo che quando si parla di \processo generativo" non si intende necessariamente che in virtu di questo processo si porti qualcosa all'esistenza. Esistono infatti due modi profondamente diversi di considerare le denizioni degli oggetti matematici: si puo ritenere che esse creino gli oggetti che deniscono, che nell'atto della denizione si conferisca ad essi l'esistenza, oppure si puo pensare che le denizioni si limitino a segnare i conni di un insieme di oggetti e che quindi abbiano un compito puramente descrittivo. Noi adottiamo questo secondo punto di vista e quindi assumiamo che sia gli oggetti che verranno a costituire un insieme, sia l'insieme stesso di questi oggetti, preesistano alla denizione e che quest'ultima sia solo un modo per individuare tale insieme e sottoporlo all'attenzione. Nell'esempio precedente i numeri pari gia esistono come elementi dell'insieme !. Se proprio vogliamo vedere qualcosa che si crea, questo e il \bordo" dell'insieme dei pari che viene ritagliato in !, ma cio non e strettamente necessario, dato che l'insieme dei pari esiste gia come elemento di P (!), l'insieme potenza di ! che contiene tutti i sottoinsiemi di !. Alle denizioni non attribuiamo dunque alcuna facolta creatrice: tutto esiste n dall'inizio ed e proprio nel momento iniziale, cioe negli assiomi della teoria degli insiemi, che si stabilisce che cosa debba esistere. Vediamo ora di cogliere gli aspetti piu generali di questo nuovo modo di denire insiemi. Innanzitutto supponiamo che ogni denizione di questo tipo sia formulata in riferimento a una data struttura A: cio signica che essa avra il compito di denire un sottoinsieme del dominio A di A e che nel fare cio potra utilizzare solo funzioni e costanti della struttura A. Vi sono inoltre due elementi della denizione precedente che possono essere generalizzati: possiamo ammettere come punto di partenza un sottoinsieme qualsiasi di A, senza necessariamente limitarci a quelli unitari, e possiamo ammettere che il processo generativo sia sostenuto dall'insieme F delle funzioni e delle costanti di A, piuttosto che da un'unica funzione. Chiameremo allora denizione induttiva in A una coppia (B; F ) tale che B A, B 6= ; e F e l'insieme delle funzioni e delle costanti di A. Diremo che un insieme X A e (B; F )-chiuso se: B X, cA 2 X, per ogni cA 2 F , F A(x0 ; : : : ; xn;1) 2 X, per ogni F A 2 F e x0 ; : : : ; xn;1 2 X. Diremo inne che l'insieme \ IB;F = fX A : X e (B; F )-chiusog 1. 2. 3. e l'insieme denito per induzione da (B; F ) in A. Gli insiemi (B; F )-chiusi coincidono con le sottostrutture di A che includono B e quindi IB;F e il dominio 2.5. Denizioni induttive 55 della sottostruttura generata da B in A. Consideriamo, ad esempio, la struttura A = (!; F A), dove F A (n) = n + 2, e poniamo B = f0g e F = fF Ag: l'insieme IB;F denito per induzione dalla coppia (B; F ) e l'insieme dei pari. L'insieme IB;F , proprio perche e denito induttivamente da (B; F ) in A, possiede una particolare struttura alla quale possiamo fare appello quando vogliamo dimostrare che ogni suo elemento gode di una particolare proprieta P . Il teorema seguente convalida un principio di induzione che garantisce la possibilita di dimostrare per induzione. Teorema 2.5.1 Per ogni denizione induttiva (B; F ) in A e per ogni proprieta P A, per dimostrare che IB;F P basta dimostrare che P e (B; F )-chiuso. Poiche IB;F e l'intersezione di tutti gli insiemi (B; F )-chiusi, e incluso in ogni insieme (B; F )-chiuso e quindi, in particolare, in P . Se A = (!; ) allora A = IB;F , con B = f0g e F = fg, e in questo caso il principio di induzione coincide con l'induzione sui naturali del paragrafo 1.5. Come primo esempio di dimostrazione per induzione, presentiamo un teorema che ci sara utile nel paragrafo seguente. Teorema 2.5.2 Supponiamo che A sia generata da B A. Se D e una struttura dello stesso tipo di A e h e h0 sono due morsmi da A verso D che coincidono sui generatori, ossia tali che h(b) = h0(b) per ogni b 2 B , allora h = h0 . Sia K = fx 2 A : h(x) = h0 (x)g. Se dimostriamo che K = A, allora per ogni x 2 A avremo h(x) = h0(x) e quindi h = h0 . Poiche per ipotesi A = IB;F , dove F e l'insieme delle funzioni e delle costanti di A, possiamo procedere per induzione mostrando che K e (B; F )-chiuso. Verichiamo che B K: cio deriva immediatamente dal fatto che h e h0 coincidono per ipotesi sui generatori. Verichiamo che cA 2 K, per ogni costante di A. Poiche h e h0 sono morsmi h(cA ) = cD = h0(cA ): Supponiamo ora che F A sia una funzione n-aria di A e mostriamo che, se ogni ai appartiene a K, per i < n, allora F A(a0 ; : : : ; an;1) 2 K. A tale scopo basta vericare che, essendo h e h0 morsmi, h(F A (a0; : : : ; an;1)) = F D (h(a0 ); : : : ; h(an;1)) = F D (h0 (a0 ); : : : ; h0(an;1)) = h0 (F A(a0 ; : : : ; an;1)): La seconda riga deriva dal fatto che a0 ; : : : ; an;1 2 K. Il punto piu delicato delle dimostrazioni per induzione e il passo induttivo, ossia la dimostrazione dell'implicazione \se ai 2 P , per ogni i < n, allora F A(a0 ; : : : ; an;1) 2 P " che garantisce l'estendibilita di P da B a tutto IB;F . Per dimostrare che F A(a0 ; : : : ; an;1) appartiene a P puo accadere che occorra assumere non solo che P sia goduta da ogni ai , ma che P sia goduta anche da 56 Capitolo 2. Strutture tutti gli elementi di IB;F che sono \piu semplici" di F A(a0 ; : : : ; an;1), rispetto a un criterio di semplicita pressato. Dimostriamo che questo modo di procedere e lecito. Innanzitutto conveniamo di misurare la semplicita degli elementi di un insieme qualsiasi A mediante una funzione ' : A ! !. Vedremo in seguito che esistono diversi tipi di misure, per il momento chiameremo genericamente livello il numero naturale assegnato da ' agli elementi di A. Deniamo Ai = fx : '(x) ig per ogni i 2 !, l'insieme di tutti gli elementi di A aventi livello i. Evidentemente gli insiemi Ai formano una catena. Lemma 2.5.3 Sia ' : A ! ! e P A. Se A0 P e, per ogni i 2 !, Ai P implica Ai+1 P , allora A = P . Consideriamo l'insieme di numeri naturali N = fx : Ax P g. Per induzione su ! possiamo concludere S che N = ! e quindi, per ogni i 2 !, Ai P. Quindi A P dato che A = fAi gi2! . Poiche P A possiamo concludere P = A. Diremo che un elemento a 2 A e P; '-completo se, per ogni x 2 A, '(x) < '(a) implica P(x). Diremo che una proprieta P e '-progressiva se ogni elemento P; '-completo gode di P. In altri termini, se P e '-progressiva accade che quando un elemento x di A e tale che tutti gli elementi piu semplici di x godono di P, anche x gode di P , dove maggiore semplicita signica livello minore. Possiamo allora convalidare il principio induttivo seguente. Teorema 2.5.4 Se ' : A ! ! e P e '-progressiva, allora A = P . Dimostriamo che A0 P. Se a 2 A0 allora '(a) = 0 e quindi '(x) < '(a) e falsa per ogni x 2 A. Allora e banalmente vero che '(x) < '(a) implica P (a). Cio dimostra che a e P; '-completo e poiche P e '-progressiva a 2 P. Mostriamo ora che, per ogni i 2 !, Ai P implica Ai+1 P . Per il lemma precedente potremo allora concludere che A = P . Sia Ai P e sia a 2 Ai+1 . Poiche Ai Ai+1 si danno due casi. Caso 1), a 2 Ai e allora per ipotesi induttiva a 2 P. Caso 2), a 2 Ai+1 ; Ai , allora '(a) = i + 1. Per ogni x 2 A, '(x) < '(a) implica x 2 P, perche '(x) < '(a) implica '(x) i e quindi x 2 Ai . Allora a e P; '-completo e poiche P e '-progressiva per ipotesi, a 2 P. Quindi in entrambi i casi Ai+1 P. Esercizio 2.5.1 Supponiamo che A abbia dominio !. Si verichi che IB;F e: ! ; f0g quando B = f1g e F = f+g, ! quando B = f0g e F = f; +g, f0g quando B = f0g e F = f+g. Se F = fg, qual e il minimo B tale che IB;F = !? 2.6 Denizioni per recursione Se A e generata da B e la struttura D e dello stesso tipo di A, potremmo cercare di denire una funzione h : A ! D nel modo seguente. Fissiamo il comportamento di h sugli elementi di B, vale a dire supponiamo data una funzione g : B ! D e poniamo h(b) = g(b) per ogni b 2 B. Quanto agli 57 2.6. Denizioni per recursione a 2 A ; B, poniamo D a = cA h(a) = cF D (h(a0 ) : : :h(an;1)) se se a = F A(a0 ; : : : ; an;1). Diremo allora che h e denita per recursione. Che cosa garantisce che abbiamo veramente denito una funzione da A verso D, ossia che ad ogni elemento di A abbiamo associato un unico valore? Se a = cA e a 2 B abbiamo cD = h(a) = g(a), e nulla garantisce che cD sia uguale a g(a). Inoltre h(F A(a0 ; : : : ; an;1)) sembra denito in modo circolare nei termini dei vari h(ai ): chi ci assicura che abbiamo denito qualcosa? Il teorema di recursione che dimostreremo in questo paragrafo mostra che e possibile denire per recursione, quando A soddisfa particolari condizioni, ma prima di presentare la dimostrazione del teorema conviene riesaminare le denizioni induttive. Sia A una struttura, B A e F l'insieme delle funzioni e delle costanti di A. (Non e necessario supporre che IB;F coincida con A.) Nel paragrafo precedente abbiamo sottolineato che le denizioni induttive non creano gli oggetti che deniscono, e vero tuttavia che gli elementi di IB;F sono ottenuti da B con un processo di generazione nel quale intervengono le funzioni e le costanti di F . Il processo di generazione di un a 2 IB;F puo essere rappresentato mediante un albero etichettato ' : ! A, ossia una funzione ' che assegna ad ogni nodo dell'albero un oggetto di A come etichetta. Richiederemo che il vertice di sia etichettato da a e che i nodi terminali siano etichettati dagli elementi di B e dalle costanti di F che intervengono nel processo. Se 2 non e un nodo terminale e se 0 ; : : : ; n;1 sono i suoi successori, allora ricevera come etichetta F A(a0 ; : : : ; an;1), dove ai e l'etichetta di i per i < n. Un albero etichettato di questo genere e detto (B; F )-costruzione di a, o semplicemente costruzione, se e chiaro dal contesto qual e la coppia (B; F ) a cui si fa riferimento. Supponiamo, ad esempio, che sia A = (!; GA; F A; cA), dove GA e il successore, F A la somma, cA lo zero, e poniamo B = f1g. Possiamo visualizzare alcune costruzioni nel modo seguente: cA GA (cA ) 1 GA (1) cA @@ ;; @; 1 1 @@ ;; @; GA(GA (cA )) F A(GA(1); cA ) F A(1; 1) Nella gura precedente sono mostrate tre costruzioni di 2: e evidente, quindi, che un elemento puo avere costruzioni dierenti. Tuttavia, se ci limitiamo a considerare strutture A in cui ogni elemento del dominio ha un'unica costruzione, allora possiamo sfruttare questa caratteristica di A per denire h : A ! D 58 Capitolo 2. Strutture per recursione. Dato a 2 A consideriamo l'unica costruzione che lo genera e la trasformiamo modicandone sistematicamente le etichette nel modo seguente: i) sostituendo nei nodi terminali b con g(b) e le costanti di A con quelle di D, ii) utilizzando negli altri nodi le funzioni di D corrispondenti a quelle di A. La gura seguente illustra questa trasformazione: b GA (b) g(b) cA @@ ;; @; GD (g(b)) cD @@ ;; @; F A(GA (b); cA) F D (GD (g(b)); cD ) Deniamo h(a) come l'elemento nel vertice della costruzione trasformata. Nel caso della gura precedente, h(F A(GA (b); cA)) = F D (GD (g(b)); cD ): E evidente che una h cosi denita e un morsmo, mentre il fatto che sia una funzione dipende essenzialmente dall'unicita della costruzione degli elementi della struttura A. Il processo mediante il quale si trasforma una (B; F )- costruzione in una (g[B]; H)-costruzione, dove H e l'insieme di funzioni e costanti di D, e alla base della dimostrazione del teorema di recursione. La condizione che ogni elemento di A abbia un'unica costruzione e rimpiazzata dalla richiesta che A sia generata liberamente da B, ossia che A sia generata da B e che (B; F ) soddis le condizioni seguenti: 1. cA 62 B, per ogni cA 2 F , 2. cA 6= eA , per ogni cA , eA 2 F tali che c 6= e, 3. Im(F A ) \ B = ;, per ogni F A 2 F , 4. Im(F A ) \ Im(GA ) = ;, per ogni F A, GA 2 F tali che F 6= G, 5. cA 62 Im(F A ), per ogni cA , F A 2 F , 6. F A e iniettiva, per ogni F A 2 F . (E possibile dimostrare che se A e generata liberamente, ogni suo elemento possiede un'unica costruzione.) Teorema 2.6.1 Se A e generata liberamente da B A allora, per ogni struttura D dello stesso tipo di A e ogni g : B ! D, esiste un'unico morsmo h : A ! D che estende g. 2.6. Denizioni per recursione 59 La funzione h che deniremo e un insieme di coppie ordinate incluso in A D. Poiche h sara denita per induzione, penseremo A D come il dominio di una struttura C = A D, detta prodotto cartesiamo di A per B e denita nel modo seguente. La struttura C ha lo stesso tipo di A e D e inoltre cC =< cA ; cD > per ogni simbolo di costante c e F C (< x0; y0 >; : : : ; < xn;1; yn;1 >) =< F Ax; F Dy > per ogni simbolo di funzione F, dove x 2 An e y 2 Dn . Consideriamo allora la denizione induttiva (g; F ) in C , dove F e costituito da tutte le funzioni e le costanti di C e poniamo h = Ig;F . La dimostrazione del fatto che h soddisfa le condizioni del teorema si articola in quattro punti. 1. Dimostriamo che h e una funzione. Sia K l'insieme degli elementi di A sui quali h, se e defnita, e univoca: K = fx 2 A : < x; y >; < x; z >2 h implica y = z g: Dimostreremo che K e B; F -chiuso e quindi K = A. Poiche per ogni < x; y > e < x; z > in h vale sempre x 2 A, ne segue che y = z, quindi h e una funzione. Passiamo ora alla dimostrazione di B; F -chiusura per K. Dimostriamo che B K. Dobbiamo vericare che se < b; y > e < b; z > sono in h allora y = z. Se < b; y > e in h si danno i tre casi seguenti: i) < b; y >2 g e allora y = g(b); ii) < b; y >=< cA; cD >, per qualche simbolo di costante c, ma allora b = cA , il che e impossibile per il punto 1) della denizione di struttura generata liberamente; iii) < b; y >=< F Ax; F Dy >, per qualche simbolo di funzione F e per x 2 An , y 2 Dn , ma allora b = F Ax, il che e impossibile per il punto 3) della denizione. Analogamente se < b; z > e in h possiamo dimostrare che z = g(b). Ma allora y = g(b) = z. Dimostriamo che cA 2 K, per ogni simbolo di costante c. Dobbiamo vericare che se < cA ; y > e < cA ; z > sono in h allora y = z. Se < cA ; y > e in h si danno i tre casi seguenti: i) < cA ; y >2 g e allora < cA; y >=< b; g(b) > e quindi cA = b, per qualche b 2 B, ma cio e impossibile per il punto 1) della denizione; ii) < cA ; y >=< eA ; eD >, per qualche simbolo di costante e, e quindi cA = eA e y = eD , ma allora c = e per il punto 2) della denizione e quindi y = eD = cD ; iii) < cA ; y >=< F Ax; F D y >, per qualche simbolo di funzione F e per x 2 An , y 2 Dn , ma allora cA = F Ax, il che e impossibile per il punto 5) della denizione. Quindi se < cA ; y > e in h deve essere y = cD . Analogamente se < cA ; z > e in h deve essere z = cD . Quindi dalla nostra ipotesi segue y = cD = z. Dimostriamo che se a 2 K n allora F Aa 2 K. Dobbiamo vericare che se < F Aa; y > e < F Aa; z > sono in h allora y = z. Se < F Aa; y > e in h si danno i tre casi seguenti: i) < F A a; y >=< b; g(b) >, per qualche b 2 B, ma allora F Aa = b e cio e impossibile per il punto 3) della denizione; ii) < F Aa; y >=< eA ; eD >, per qualche simbolo di costante e, ma allora F Aa = eA e y = eD , ma cio e impossibile per il punto 5) della denizione; iii) < F Aa; y >=< GA q; GDr >, dove q 2 Am e r 2 Dm e dove < qi ; ri > 60 Capitolo 2. Strutture appartiene a h. Allora F A(a0 ; :::; an;1) = GA (q0; : : : ; qm;1) da cui segue per il punto 4) della denizione sia F = G sia n = m. Quindi F A(a0 ; :::; an;1) = F A(q0; : : : ; qn;1) da cui segue ai = qi per il punto 6) della denizione. Allora anche < ai; ri > appartiene a h. Poiche F = G e n = m, abbiamo y = GD (r0 ; : : : ; rm;1) = F D (r0; : : : ; rn;1) e poiche h(ai) = ri , vale F D (r0; : : : ; rn;1) = F D (h(a0); : : : ; h(an;1)). Abbiamo allora y = F D (h(a0); : : : ; h(an;1)). Se < F A(a); z > e in h otteniamo analogamente z = F D (h(a0 ); : : : ; h(an;1)) e quindi y = z. 2. Dimostriamo che Dom(h) = A e Im(h) D. E evidente che Im(h) e inclusa in D. Dimostriamo che A e il dominio di h. A tale scopo basta dimostrare che Dom(h) e (B; F )-chiuso. Vale B Dom(h), dato che g h e B = Dom(g). Vale cA 2 Dom(h), dato che < cA ; cD >2 h per ogni simbolo di costante c. Supponiamo ora che a0 ; : : : ; an;1 2 Dom(h) e dimostriamo che F A (a) 2 Dom(h). Per ipotesi esistono d0; : : : ; dn;1 2 D tali che ogni < ai ; di > appartiene a h e quindi anche < F A(a); F A(d) > appartiene a h, poiche h e (g; F )-chiuso. Ma allora F A (a) appartiene a Dom(h). 3. Dimostriamo h e un omomorsmo. Vale ovviamente h(cA ) = cD . Supponiamo ora che a0 ; : : : ; an;1 2 A, poiche Dom(h) = A esistono d0; : : : ; dn;1 2 D tali che h(ai ) = di . Poiche h e un insieme (g; F )-chiuso deve contenere anche < F A(a); F D(d) > e quindi h(F A (a0; : : : ; an;1)) = F D (d0; : : : ; dn;1) = F D (h(a0) : : :h(an;1)): 4. Inne si dimostra facilmente, utilizzando il teorema 2.5.2, che h e l'unico omomorsmo da A verso D che estende g. Gli esempi piu semplici di denizioni per recursione si ottengono utilizzando la struttura A = (!; A ), dove A = . E evidente che A e generata liberamente da B = f0g. Se consideriamo la struttura D = (!; D ), dove D = , allora il teorema 2.6.1 garantisce che per ogni funzione g : f0g ! ! esiste un'unica funzione ' : ! ! ! tale che '(0) = g(0) e '((n)) = ('(n)): Diremo allora che ' e denita per iterazione a partire da e da g. Il teorema 2.6.1 permette di giusticare anche denizioni piu complesse dell'iterazione, nelle quali il valore '(n+1) dipende non solo dal valore precedente '(n), ma anche dal livello della recursione, ossia da n. Diremo che una funzione ' : ! ! ! e denita per recursione primitiva da k e : 2 ! ! ! se '(0) = k e '((n)) = ('(n); n): 61 2.6. Denizioni per recursione Mentre nell'iterazione abbiamo '(n + 1) = (: : : (0) : : :), dove la funzione viene applicata n + 1-volte, nella recursione primitiva abbiamo la chiamata in successione di diverse funzioni, tutte ottenibili come parametrizzazioni di . Se parametrizziamo la seconda variabile di con dierenti numeri naturali, otteniamo la successione di funzioni 0(x) = (x; 0); : : : ; n (x) = (x; n); : : : e possiamo scrivere '(n + 1) = n(: : : 0 (0) : : :). Non si tratta quindi di un'iterazione, ma l'uniformita che sussiste nel passaggio dal calcolo del valore per n al calcolo del valore per n+1 e suciente per poter aerrare la procedura come un unico processo, detto recursione primitiva. Il teorema seguente giustica una forma piu generale di recursione primitiva che ci sara utile in seguito. Teorema 2.6.2 Per ogni c 2 C e : C ! ! C , esiste una funzione ' : ! ! C tale che '(0) = c e '((n)) = ('(n); n): Diremo che ' e denita per recursione primitiva da c e . Consideriamo una struttura A = (!; A), dove A = , e una struttura D = (C !; D ) dove, per ogni x 2 C e ogni n 2 !, D (x; n) = ( (x; n); (n)). Per il teorema 2.6.1 esiste una funzione : ! ! D tale che (0) = (c; 0) e (A (n)) = D ((n)): Osserviamo che (n) = (i20 ((n)); i21 ((n))), dove i20 e i21 sono le funzioni che danno rispettivamente il primo e il secondo elemento di una 2-pla. Dimostriamo per induzione su ! il seguente lemma: i21 ((n)) = n: Vale infatti i21 ((0)) = i21 (k; 0) = 0. Supponiamo che l'asserto valga per n, abbiamo allora, ricordando che A = , i21 (((n)) = i21 (D ((n)) = i21 (D (i20 ((n)); i21 ((n))) = i21 ( (i20 ((n)); i21 ((n))); (i21 ((n)))) = (i21 ((n))) = (n): A questo punto possiamo denire ' = i20 . Verichiamo che ' soddisfa le condizioni poste dal teorema. Innanzitutto '(0) = i20 ((0)) = i20 (c; 0) = c: 62 Capitolo 2. Strutture Inoltre abbiamo '((n)) = i20 (((n))) = i20 (D ((n))) = i20 (D (i20 ((n)); i21((n))) = i20 ( (i20 ((n)); i21 ((n))); (i21 ((n)))) = (i20 ((n)); i21 ((n))) = (i20 ((n)); n) = ('(n); n); dove la penultima equazione si ottiene per il lemma e l'ultima per la denizione di '. Corollario 2.6.3 Per ogni : C ! C e : C ! C ! C , esiste una funzione ' : ! C ! C tale che, per ogni c 2 C , '(0; c) = (c) e '((n); c) = ('(n; c); n; c): Diremo che ' e denita per recursione primitiva da e . Fissiamo un elemento qualsiasi c 2 C e con esso parametrizziamo l'ultimo argomento di ottenendo una funzione c : C ! ! C tale che, per ogni x 2 C e ogni n 2 !, c (x; n) = (x; n; c). Se siamo in grado di denire una funzione 'c : ! ! C tale che 'c (0) = (c) e 'c ((n)) = c('c (n); n); allora possiamo dimostrare, per induzione su !, che 'c (n) = '(n; c) e quindi possiamo usare quest'ultima equazione per denire, al variare di c 2 C, la ' richiesta dal teorema. Ma l'esistenza di 'c si ottiene immediatamente dal teorema precedente. Siamo ora in grado di giusticare la seguente denizione ricorsiva della funzione somma: +(0; m) = m e + ((n); m) = (+(n; m)): E suciente identicare la del corollario con l'identita i10 e la con i30 . Lasciamo al lettore come esercizio la giusticazione della denizione della funzione prodotto, (0; m) = 0 e ((n); m) = +((n; m); m) assumendo data la funzione somma, e della funzione fattoriale !(0) = 1 e !((n) = (!(n); (n)) assumendo data la funzione prodotto. Esercizio 2.6.1 Si dimostri che se A e generata liberamente, allora ogni elemento ha un'unica costruzione. 2.7. Il lemma di Zorn 63 2.7 Il lemma di Zorn Gli insiemi parzialmente ordinati sono strutture molto diuse ed e spesso importante stabilire se un dato insieme parzialmente ordinato contenga (almeno) un elemento massimale. Il lemma di Zorn stablisce una condizione molto generale perche un insieme parzialmente ordinato non vuoto A = (A; ) contenga elementi massimali: e suciente che, per ogni catena K A, valga sup K 2 A. La condizione si puo anche indebolire a: A contiene un conne superiore, non necessariamente sup K, per ogni catena K. (Si veda l'esercizio 2.7.1.) Il lemma di Zorn e un esempio di matematica non costruttiva, poiche stabilisce l'esistenza di un oggetto, l'elemento massimale, senza che dalla dimostrazione si possano ricavare informazioni per identicarlo. In eetti il lemma di Zorn e dimostrato sulla base dell'assioma di scelta della teoria degli insiemi (a cui risulta addirittura equivalente): tale assioma stabilisce che, per ogni insieme A, esiste una funzione di scelta ' : P (A) ; f;g ! A che sceglie un elemento da ogni sottoinsieme non vuoto di A, ossia tale che, per ogni X A non vuoto, '(X) 2 X. L'assioma di scelta fu al centro di molte discussioni nei primi decenni del XX secolo, quando diversi matematici ne sottolinearono il carattere altamente non costruttivo: quando X era innito, si poteva asserire l'esistenza di una funzione di scelta senza fornire un criterio per compiere le scelte? In seguito l'assioma fu accettato da gran parte dei matematici, anche perche si dimostro insostituibile nella dimostrazione di alcuni importanti risultati tra cui citiamo soltanto, oltre al lemma di Zorn, il teorema del buon ordinamento: ogni insieme puo essere bene ordinato. Diremo che una funzione f : A ! A ha un punto sso se esiste un a 2 A tale che f(a) = a ed e progressiva se, per ogni a 2 A, a f(a). Deniamo cpo (da complete partially ordered set ) una struttura A = (A; ; 0) costituita da un insieme parzialmente ordinato dotato di minimo 0 e tale che, per ogni catena K A, sup K 2 A. (Ricordiamo che una catena e un insieme totalmente ordinato.) Otterremo il lemma di Zorn come corollario del seguente teorema riguardante l'esistenza di punti ssi per funzioni progressive denite su cpo. Teorema 2.7.1 Se A e un cpo e f : A ! A e progressiva, allora f ha un punto sso. Diremo che un insieme X A e f-chiuso se i) 0 2 X, ii) f[X] X, iii) per ogni catena K X, sup K 2 X. In altri termini, X e f-chiuso se e un sotto-cpo di A chiuso rispetto a f. In analogia a quanto abbiamo visto a proposito delle denizioni induttive, diremo che l'insieme \ Z = fX A : X e f-chiusog 64 Capitolo 2. Strutture e denito induttivamente da f in A. E facile vericare che Z stesso e f-chiuso e quindi e il minimo f-chiuso incluso in A. Ogni volta che vorremo dimostrare che una data proprieta P A e goduta da ogni elemento di Z, bastera dimostrare che P e f-chiuso, perche in tal caso vale Z P . Se la proprieta sara tale che P Z, avremo allora Z = P. In particolare dimostreremo che Z e una catena. Supponiamo per il momento di averlo dimostrato: poiche Z soddisfa la condizione iii) ed e una catena, sup Z 2 Z, poiche Z soddisfa la condizione ii), f(sup Z) 2 Z e per la denizione di minimo conne superiore f(sup Z) sup Z. D'altra parte f e progressiva, quindi sup Z f(sup Z). In conclusione, sup Z e un punto sso di f. Resta da dimostrare che Z e una catena ossia che, per ogni x, y 2 Z, vale x y o y x. Poiche f e progressiva, bastera dimostrare che f(x) y o y x. Per ogni elemento x 2 Z deniamo l'insieme Cx = fy 2 Z : x y o y xg degli elementi confrontabili con x e l'insieme Zx = fy 2 Z : f(x) y o y xg: Poiche f e progressiva, Zx Cx . Dimostreremo che Zx = Z, per ogni x 2 Z, e quindi Z Cx. Da cio si ottiene immediatamente che ogni elemento di Z e confrontabile con x, per ogni x 2 Z, e quindi Z risulta essere una catena. Deniamo allora C = fx 2 Z : per ogni y 2 Z, y < x implica f(y) xg e dimostriamo in un primo tempo che Zx = Z quando x 2 C. In seguito dimostreremo che C = Z. Assumiamo quindi x 2 C. Per dimostrare che Zx = Z bastera dimostrare che Zx e f-chiuso. i) Vale 0 2 Zx , infatti f(x) 0 o 0 x. ii) Assumiamo y 2 Zx ossia f(x) y o y x, e dimostriamo che f(y) 2 Zx , ossia f(x) f(y) o f(y) x. Caso a): f(x) y. Allora f(x) f(y), poiche f e progressiva. Caso b): y = x. Allora f(x) f(y). Caso c): y < x. In questo caso sfruttiamo l'ipotesi x 2 C, da cui scende f(y) x. iii) Sia K una catena tale che K Zx , allora per ogni k 2 K vale f(x) k o k x. Dobbiamo dimostrare che sup K 2 Zx , ossia f(x) sup k o sup K x. Caso a): per ogni k 2 K vale k x, allora sup K x. Caso b): esiste k 2 K tale che f(x) k, allora f(x) sup K. Resta dunque da dimostrare che C = Z e ancora una volta, sfruttando il fatto che Z e denito induttivamente da f, bastera dimostrare che C e f-chiuso. i) Vale 0 2 C dato che, per ogni y 2 Z, e banalmente vero che y < 0 implica f(y) 0. (y < 0 e sempre falsa.) ii) Supponiamo w 2 C, ossia che per ogni y 2 Z, y < w implichi f(y) w. Dobbiamo dimostrare che f(w) 2 C, ossia che, per ogni y 2 Z, y < f(w) implica f(y) f(w). Assumiamo dunque y < f(w). Per quanto abbiamo dimostrato in precedenza, sappiamo che se w 2 C, allora Zw = Z, ossia per ogni y 2 Z, f(w) y o y w. La nostra ipotesi y < f(w) 2.7. Il lemma di Zorn 65 e incompatibile con f(w) y (poiche ne verrebbe y < y), quindi deve valere l'altra alternativa: y w. Caso a): y = w, allora f(y) f(w). Caso b): y < w. Poiche per ipotesi w 2 C, abbiamo f(y) f(w). iii) Sia K una catena tale che K C. Dobbiamo dimostrare che sup K 2 C, ossia per ogni y 2 Z, y < sup K implica f(y) sup K. Fissiamo dunque y 2 Z tale che y < sup K. Per quanto abbiamo dimostrato in precedenza sappiamo che se x 2 C allora Zx = Z. Poiche ogni elemento di K e in C, per ogni k 2 K vale Zk = Z e quindi in particolare per y vale, per ogni k 2 K, f(k) y o y k. D'altra parte non puo vericarsi f(k) y per ogni k 2 K, altrimenti avremmo anche k y per ogni k 2 K e quindi sup K y, contro l'ipotesi y < sup K. Deve quindi esistere un k 2 K tale che y k. Caso a): y = k. Poiche y < sup K, esistera un k0 2 K tale che k < k0 (altrimenti, essendo K una catena, avremmo sup K = k = y). Poiche k0 2 C, da y < k0 ricaviamo f(y) k0 sup K. Caso b): y < k. Poiche k 2 C abbiamo f(y) k e quindi f(y) sup K. Teorema 2.7.2 Se (A; ) e parzialmente ordinato non vuoto e per ogni catena K A vale sup K 2 A, allora ogni funzione progressiva f : A ! A possiede un punto sso. Fissiamo un elemento a 2 A e consideriamo B = fx 2 A : a xg. E immediato vericare che la struttura (B; ; a), ottenuta restringendo a B la relazione d'ordine parziale denita su A, e un cpo. Deniamo ora una funzione g : B ! B ponendo, per ogni b 2 B, g(b) = f(b). (Cio e possibile perche f e progressiva e quindi f(b) 2 B.) Evidentemente g e progressiva anch'essa e, per il teorema precedente, possiede un punto sso in B che sara anche punto sso di f. Corollario 2.7.3 (Zorn) Se (A; ) e parzialmente ordinato non vuoto e per ogni catena K A vale sup K 2 A, allora A contiene un elemento massimale. Se A non contiene un massimale, allora per l'assioma di scelta possiamo denire nel modo seguente una funzione f : A ! A tale che, per ogni a 2 A, a < f(a). Per ogni a 2 A consideriamo l'insieme Xa = fx 2 A : a < xg: se non ci sono massimali Xa e sempre diverso dal vuoto. Se ' e una funzione di scelta che associa ad ogni sottoinsieme di A non vuoto un suo elemento, possiamo denire f(a) = '(Xa ), per ogni a 2 A. Chiaramente vale a < f(a), ma per il teorema precedente, essendo f progressiva, f deve avere un punto sso, il che e assurdo. Esercizio 2.7.1 1. Si dimostri che ogni insieme parzialmente ordinato (A; ) contiene una catena massimale. (Si consideri l'insieme (B; ) di tutte le catene in (A; ) e si dimostri che per esso valgono le ipotesi del lemma di Zorn.) 2. Si dimostri la seguente versione del lemma di Zorn: se (A; ) e un insieme parzialmente ordinato tale che, per ogni catena K A, A contiene un 66 Capitolo 2. Strutture conne superiore di K, allora A contiene un elemento massimale. (Si consideri una catena massimale M in A, che esiste per il punto precedente, e si dimostri che ogni conne superiore di tale catena e un elemento massimale di A.) Capitolo 3 Logica enunciativa 3.1 Linguaggio enunciativo La logica puo essere denita come la teoria dell'inferenza corretta. Un'inferenza e costituita da un insieme di enunciati detti premesse o assunzioni e da un enunciato detto conclusione. In un'inferenza corretta premesse e conclusione sono unite dal legame di conseguenza logica: in ogni circostanza in cui accettiamo le premesse, ci sentiamo costretti ad accettare inevitabilmente anche la conclusione. La logica non si limita a raccogliere e catalogare le inferenze che sono considerate corrette, ma fornisce soprattutto un'analisi del legame di conseguenza logica, poiche e l'esistenza di questo legame cio che permette di riconoscere un'inferenza corretta. Per denire il concetto di conseguenza logica occorre stabilire la semantica del linguaggio, ossia bisogna denire in cosa consista il signicato di un enunciato e come il signicato venga attribuito agli enunciati. Sebbene il signicato sia l'elemento decisivo e si possa ritenere accidentale la sua espressione linguistica, che puo avvenire in modi diversi in linguaggi diversi o anche nello stesso linguaggio, inizieremo il nostro studio proprio dal linguaggio. Quale che sia il mondo dei signicati, esso compare nell'inferenza inevitabilmente attraverso la mediazione del linguaggio: solo cio che viene rappresentato nel linguaggio puo essere rilevante per l'inferenza. Immaginiamo di isolare cinque modi fondamentali di connettere enunciati del linguaggio naturale per formare enunciati piu complessi: \non", \e", \o", \se : : : allora", \se e solo se". Ciascuno di essi puo essere considerato come un'operazione avente enunciati come argomenti e valori: operando con \non" su \Antonio ama Maria" otteniamo l'enunciato \Antonio non ama Maria", operando con \se : : : allora" su \Antonio ama Maria" e su \Antonio ama Sara" otteniamo \Se Antonio ama Maria allora Antonio ama Sara", e cos via. Naturalmente ci sono nella nostra lingua altri modi di connettere enunciati fra di loro, ma vedremo in seguito che quelli individuati sono piu che sucienti per il discorso logico. Poiche sappiamo come costruire enunciati complessi a partire da enunciati piu semplici, siamo anche in grado di analizzare enunciati com- 68 Capitolo 3. Logica enunciativa plessi nei loro componenti. Questo processo di analisi si puo spingere no a un certo punto oltre il quale non puo continuare, e precisamente no a quando si incontra un enunciato che non e ne una negazione, ne una congiunzione, ne una disgiunzione, ne una implicazione, ne una equivalenza: tali enunciati sono detti elementari. La logica enunciativa e caratterizzata dal fatto che il potere di risoluzione del suo linguaggio non va oltre gli enunciati elementari. Spettera alla logica predicativa il compito di approfondire il livello dell'analisi valendosi di un linguaggio che estende quello enunciativo e mette in gioco anche la costituzione interna degli enunciati elementari. L'introduzione di questi due livelli di analisi logica, nell'ordine in cui vengono presentati, non rispecchia lo sviluppo storico della logica, che ha seguito invece l'ordine inverso, ma assolve semplicemente una funzione didattica. Iniziamo dalla logica enunciativa perche e piu semplice della logica predicativa, pur presentando la stessa architettura complessiva: un linguaggio formale, una semantica, un calcolo logico e un teorema di completezza. Il primo passo nella costruzione della logica enunciativa consiste nella denizione del linguaggio formale nel quale sara possibile tradurre gli enunciati del linguaggio naturale. I modi di connettere enunciati che abbiamo isolato, \non", \e", \o", \se : : : allora", \se e solo se" sono rappresentati nei linguaggi formali dai simboli :, ^, _, ! e $, detti connettivi logici e denominati rispettivamente negazione, congiunzione, disgiunzione, implicazione, equivalenza. Nel linguaggio formale che adotteremo ci limiteremo all'insieme di connettivi C = f:; ^; _g e in seguito dimostreremo che cio non comporta nessuna limitazione delle nostre facolta espressive. Deniamo quindi linguaggio enunciativo l'insieme L = C [ P, dove P = fpi : i 2 !g e un insieme di simboli detti variabili enunciative . Linguaggi enunciativi diversi possono essere ottenuti variando C e P. Talvolta ci si riferisce piu correttamente a L come all'alfabeto del linguaggio, e si riserva il nome di linguaggio per l'insieme delle formule scritte con i simboli di L, che intuitivamente corrispondono alle parole o agli enunciati dei linguaggi naturali: questo abuso di linguaggio e frequente quanto innocuo, dato che nei linguaggi formali l'insieme delle formule e univocamente determinato dall'alfabeto. L'insieme delle formule di L e un insieme denito induttivamente, occorre quindi stabilire la struttura entro cui si realizza la denizione induttiva. Sia E l'insieme di tutte le successioni nite di elementi di L: gli elementi di E sono detti espressioni di L. In corripondenza dei connettivi :, ^ e _ deniamo su E tre funzioni O: , O^ e O_ nel modo seguente: O: (e) = (:) e; O^ (e0 ; e1) = (^) e0 e1 ; O_ (e0 ; e1) = (_) e0 e1 : Consideriamo inne la struttura E = (E; O^ ; O_ ; O: ) e la denizione induttiva (B; F ), dove B = P e F = fO^ ; O_ ; O: g. Gli elementi dell'insieme denito induttivamente F mL sono detti formule o enunciati di L. Ometteremo l'indice L quando sia chiaro dal contesto. Per abbreviare scriveremo s0 s1 : : :sn invece di (s0 ; s1 ; : : : ; sn ). Saranno quindi formule espressioni come pi , :pi, ^pi pj . Ad 69 3.1. Linguaggio enunciativo ogni formula e associata una costruzione che la genera, per esempio pi pj O: (pi) pi @ ;; @@; O_ (pj ; pi) @@ ;; ; @@ ; @; O^ (O: (pi ); O_ (pj ; pi)) e associata a ^:pi _ pj pi . Vedremo nel paragrafo seguente che le formule sono generate liberamente e quindi tale costruzione e unica. Espressioni come :, pi:, pi _ pj non sono formule perche evidentemente non possono essere prodotte da alcuna costruzione. E chiaro che a ogni nodo di una costruzione e associata una formula: ciascuna di tali formule e detta sottoformula della formula associata alla radice. E tipico di questo linguaggio premettere il connettivo binario invece di interporlo, ottenendo espressioni come _pipj invece di pi _ pj . Questo modo di procedere, per quanto sembri innaturale, permette di avere un linguaggio senza parentesi. Infatti, mentre la notazione p0 ^ p1 _ p2 e ambigua, e solo con le parentesi possiamo specicare se intendiamo parlare di (p0 ^ p1 ) _ p2 o di p0 ^ (p1 _ p2 ), la notazione fornita dal nostro linguaggio consente di indicare la prima con _ ^ p0 p1p2 e la seconda con ^p0 _ p1p2 . L'ordine in cui vanno eettuate le operazioni e espresso dalla disposizione dei simboli, senza far uso delle parentesi. Lo scopo dell'eliminazione delle parentesi e quello di ottenere un linguaggio strutturalmente piu semplice, anche se meno facilmente decifrabile. D'altra parte possiamo continuare a valerci dei servigi delle parentesi nella rappresentazione delle formule introducendo la seguente convenzione notazionale. Se consideriamo le lettere greche ; ; ; ::: come variabili metalinguistiche per formule, stabiliamo di rappresentare in generale la formula ^ mediante la scrittura ( ^ ) e la formula _ mediante la scrittura ( _ ). Esistono linguaggi enunciativi basati su altri connettivi logici: i connettivi piu comuni e naturali, oltre a quelli da noi adottati, sono ! e $, rispettivamente \se...allora...", e \...sse...". Se si vuole sviluppare un linguaggio enunciativo comprendente questi connettivi, basta introdurre tra le funzioni F della denizione induttiva delle formule anche le operazioni O! e O$ denite in modo analogo alle precedenti. La scelta di limitarsi a :, ^, e _ ha una duplice giusticazione. In primo luogo e possibile dimostrare (si veda il teorema 3.4.8) che limitandoci a loro non ci siamo privati di nulla, nel senso che il nostro linguaggio enunciativo possiede gia il massimo di espressivita possibile. In secondo luogo, l'adozione di questi connettivi facilita l'individuazione del rapporto che esiste tra la semantica 70 Capitolo 3. Logica enunciativa del linguaggio enunciativo e le algebre di Boole. Un altro criterio frequentemente adottato e quello di minimizzare il numero dei connettivi, in modo da ridurre il numero dei casi da esaminare nelle dimostrazioni per induzione sulle formule: in questo caso la scelta piu comune e quella di limitarsi a :, _ oppure a :, !. D'altra parte, come nel caso delle parentesi, non vogliamo privarci dei servigi dei connettivi che abbiamo tralasciato, quindi li introduciamo con una convenzione notazionale, stabilendo di scrivere ( ! ) al posto di (: _ ) e ( $ ) al posto di (( ! ) ^ ( ! )): Il senso di questa convenzione risultera chiaro quando stabiliremo il signicato dei connettivi. Per ora ci limitiamo a considerare la scrittura (p0 ! p1 ) come un'abbreviazione per :p0 _ p1 che a sua volta rende piu leggibile : _ p0p1 . Solo quest'ultima e veramente una formula del nostro linguaggio. Ora che abbiamo introdotto le parentesi per facilitare la lettura delle formule, ssiamo alcune convenzioni che permettono in alcuni casi di eliminarle, dato che un eccesso di parentesi disturba la lettura quanto la loro mancanza totale. Innanzitutto eliminiamo la coppia di parentesi piu esterna convenendo di scrivere, ad esempio, ( _ ) ^ invece di (( _ ) ^ ). Stabiliamo quindi un ordine di precedenza nell'applicazione dei connettivi, chiedendo che 1. : si applichi prima di ogni altro connettivo, 2. ^ e _ si applichino prima di ! e $, senza pero stabilire un ordine di precedenza fra ^ e _ e fra ! e $, 3. in una formula del tipo di 0 ! : : : ! n le parentesi siano associate a destra e che una convenzione analoga valga per ogni altro connettivo binario. Avremo quindi la possibilita di semplicare (:) _ ( _ ) in : _ _ (per le 1 e 3), mentre :( _ ) _ non e ulteriormente semplicabile. Analogamente ( ^ ) ! ( ! ) si riduce a ^ ! ! (per le 2 e 3), mentre (( ^ ) ! ) ! si riduce solo a ( ^ ! ) ! (per la 2) e la formula (( ! ) ! ) ! non si riduce aatto. La formula ( ^ ) _ ( ^ ) non si riduce, perche tra ^ e _ non sono ssate regole di precedenza. Poiche eliminare le parentesi e una facolta e non un obbligo, a volte non elimineremo tutte le parentesi eliminabili in base a queste convenzioni. Siamo ora in grado di stabilire un rapporto tra il linguaggio naturale e il linguaggio enunciativo: ad ogni enunciato elementare del linguaggio naturale associamo una variabile pi , a enunciati diversi variabili diverse, e alle operazioni \non", \e", \o", \se : : : allora", \se e solo se" associamo ordinatamente i connettivi :, ^, _, !, $. Ad esempio, l'enunciato complesso \Se Antonio non ama Maria, allora Antonio tradisce Sara o Antonio tradisce Maria", associando \Antonio ama Maria" a p0 , Antonio tradisce Sara" a p1 e \Antonio tradisce Maria" a p2 , diventa :p0 ! (p1 _ p2). A prima vista sembra di aver ottenuto solo una stenograa, una rappresentazione simbolica molto semplicata del linguaggio naturale. Si osservi, tuttavia, che nel passaggio dall'enunciato del linguaggio naturale \Se Antonio non ama Maria, allora Antonio tradisce Sara o Antonio 71 3.1. Linguaggio enunciativo tradisce Maria" alla formula :p0 ! (p1 _ p2 ) c'e una perdita di specicita: il primo parla di Antonio, di Maria, di amore e tradimento, la seconda fa lo stesso discorso del primo solo tenendo presente la corrispondenza tra enunciati elementari e variabili di P , corrispondenza che non risulta in alcun modo dalla formula. Sarebbe ingiusto dire che la formula non parla di nulla solo perche p0 , p1 e p2 sono variabili, e quindi non ha un signicato determinato: la formula non fa nessuna asserzione puntuale, ma esibisce un tipo di rapporto di natura logica tra enunciati, e la forma da cui si possono ricavare inniti enunciati del linguaggio naturale facendo variare in tutti i modi possibili la corrispondenza tra enunciati elementari e P . La situazione risulta piu chiara se partiamo dal linguaggio enunciativo. Fissata una corrispondenza tra variabili di P ed enunciati elementari del linguaggio naturale, vediamo che ogni formula si traduce in un enunciato del linguaggio naturale semplicemente cambiando pi con l'enunciato elementare corrispondente e rimpiazzando i connettivi logici con \non", \e", \o", \se : : : allora" e \se e solo se". Variando la corrispondenza otterremo innite traduzioni di :p0 ! (p1 _ p2) nel linguaggio naturale e nell'insieme di tutte le possibili traduzioni troveremo anche \Se Antonio non ama Maria, allora Antonio tradisce Sara o Antonio tradisce Maria": in generale si trattera di enunciati del tipo di se non ... allora ... o ... . In conclusione possiamo dire che nel passaggio dal linguaggio naturale al linguaggio formale della logica enunciativa otteniamo una formula che costituisce la forma logica dell'enunciato del linguaggio naturale. Da questa forma logica possiamo riottenere l'enunciato di partenza tenendo presente la corrispondenza ssata all'inizio della traduzione tra enunciati elementari e P , ma facendo variare questa corrispondenza possiamo ottenere un'innita di enunciati del linguaggio naturale che condividono la forma logica dell'enunciato di partenza. Esercizio 3.1.1 Se p0 denota l'enunciato \Bruno va al cinema", p1 denota \la sera e fredda" e p2 denota \I bar sono chiusi", si rappresentino con formule gli enunciati seguenti: 1. Se Bruno va al cinema allora o la sera e fredda o i bar sono chiusi 2. Se Bruno va al cinema e i bar non sono chiusi, allora la sera e fredda 3. O Bruno va al cinema e i bar sono chiusi, oppure la sera e fredda. Esercizio 3.1.2 In ognuno dei seguenti enunciati si individuino gli enunciati elementari, assegnando a ciascuno una variabile pi in modo che a enunciati elementari diversi corrispondano variabili diverse. Si traducano quindi gli enunciati in formule. 1. Anna e giovane e Bruno e vecchio 2. Bruno e vecchio ma e attivo 72 Capitolo 3. Logica enunciativa 3. 4. 5. 6. 7. 8. 9. 10. Anna e Bruno sono amici Anna e Bruno non sono felici Anna o Bruno vengono bocciati Anna sostiene l'esame gioved o venerd Anna va al cinema ammesso che piova e Bruno non sia a Torino Anna va al cinema solo se piove Quando Anna ha sete e non c'e the, ma solo allora, beve vodka Questo esercizio non e ne utile ne divertente. Esercizio 3.1.3 Si verichi che le espressioni ai punti 2 e 4 sono formule esi- bendo la loro costruzione, si verichi che quelle ai punti 1 e 3 non sono formule mostrando che non possiedono una costruzione. 1. 2. 3. 4. ^p0p1 _ p0 p1, _ ^ p0 p1 _ p0 p1, : _ p0 p1p2 , : ^ _p0p1 :p2. 3.2 Induzione e recursione sulle formule Il fatto che l'insieme delle formule Fm sia denito induttivamente rende lecito dimostrare proprieta di formule per induzione sulle formule. Vale a dire, se Q e una proprieta di formule, per dimostrare che ogni formula gode di Q basta dimostrare che: 1. per ogni variabile pi , vale Q(pi ), 2. per ogni formula , se Q() allora Q(:), 3. per ogni coppia di formule , , se Q() e Q() allora Q( ^ ) e Q( _ ). La giusticazione di questo principio induttivo e data dal teorema 2.5.1, tenendo presente che Fm = IB;F e che le clausole 1)-3) precedenti equivalgono ad asserire che Q e B; F -chiusa. Talvolta e necessario utilizzare altri principi induttivi, basati sull'assegnamento di una funzione ' : Fm ! ! che esprime una misura di complessita delle formule. Diremo che una formula e Q; '-completa se, per ogni formula , '() < '() implica Q(). Diremo che la proprieta Q e '-progressiva se, per ogni formula , se e Q; '-completa allora Q(), in altri termini, se vale Q() quando Q vale per tutte le formule di complessita minore di . Dal teorema 3.2. Induzione e recursione sulle formule 73 2.5.4 si ricava il seguente principio induttivo: per dimostrare che ogni formula gode di Q basta dimostrare che Q e '-progressiva. Le misure di complessita piu utilizzate sono quelle in cui '() rappresenta l'altezza della costruzione di (vedremo tra breve che ogni formula ha un'unica costruzione), oppure '() rappresenta la lunghezza di , ossia il numero dei simboli che la compongono. Parleremo allora di induzione sull'altezza o di induzione sulla lunghezza di . Nel seguito ci accadra spesso di denire per recursione funzioni dall'insieme delle formule verso altri insiemi. Ad esempio, la lunghezza di una formula e denita per recursione nel modo seguente: 1. l(pi ) = 1 2. l(:) = l() + 1 3. l( ^ ) = l( _ ) = l() + l() + 1. Denire una funzione per recursione sulle formule signica applicare il teorema 2.6.1 che a sua volta puo essere applicato solo se le formule costituiscono una struttura generata liberamente da P . Consideriamo la struttura FM = (Fm; O^ ; O_ ; O: ) detta algebra delle formule di L. E chiaro che FM e generata da P, per dimostrare che e generata liberamente basta vericare che soddisfa le condizioni 1)-6) del paragrafo 2.6, che e quanto stabilisce il teorema seguente. Teorema 3.2.1 1. Im(O: ) \ P = ;, Im(O^ ) \ P = ; e Im(O_ ) \ P = ;, 2. Im(O: ) \ Im(O^ ) = ;, Im(O: ) \ Im(O_ ) = ;, Im(O^ ) \ Im(O_ ) = ;, 3. O: , O^ e O_ ristrette a F m, sono iniettive. I primi due punti sono evidenti. Quanto al terzo punto, si vede facilmente che O: e iniettiva, dato che : = : implica = . L'iniettivita di O^ non e altrettanto semplice da dimostrare. (Quella di O_ si dimostra nello stesso modo.) Date le formule , , , , da ^ = ^ si ricava solo = : come si puo arrivare ad = e = ? Ora, se pensiamo ad e come a espressioni, successioni nite di simboli, da = si ricava che = , oppure e un segmento iniziale proprio di oppure e un segmento iniziale proprio di . Se riusciamo a dimostrare che ne puo essere segmento iniziale proprio di , ne di , allora deve essere necessariamente = . A questo punto da = si puo ricavare = e l'iniettivita della funzione O^ e dimostrata. Resta allora da dimostrare il seguente lemma: Per ogni formula di L, nessun suo segmento iniziale proprio e ancora una formula di L. Deniamo una funzione K 0 che assegna ad ogni simbolo di L un numero intero in Z ponendo K 0 (:) = 0, K 0(^) = K 0 (_) = ;1 e K 0(pi ) = 1 per ogni 74 Capitolo 3. Logica enunciativa i 2 !. Sulla base di K 0 , deniamo una funzione K : E ! Z come segue. Per ogni espressione s0 ; : : : ; sn;1, dove si 2 L per ogni i < n, poniamo K(s0 ; : : : ; sn;1) = K 0 (s0 ) + : : : + K 0 (sn;1 ): Si dimostra facilmente per induzione che, per ogni formula , K() = 1. Se = pi, allora K(pi ) = K 0(pi ) = 1: Se = :, allora per ipotesi induttiva K() = 1 e quindi K(:) = K 0 (:) + K() = 1: Se = ^, allora per ipotesi induttiva K() = K() = 1 e quindi K(^) = K 0 (^) + K() + K() = 1: Nello stesso modo si procede con = _. A questo punto possiamo dimostrare che, per ogni formula , se 0 e un suo segmento iniziale proprio, K(0) < 1. Procediamo anche qui per induzione. Se = pi l'asserto e vero a vuoto, perche non vi sono segmenti iniziali propri. Supponiamo che sia = :. Allora 0 = : oppure 0 = : 0 , dove 0 e un segmento iniziale proprio di . Nel primo caso K 0 (0 ) = 0 mentre nel secondo, poiche per ipotesi induttiva K( 0) < 1, si ha K(0) = K 0 (:) + K( 0 ) < 1. Nello stesso modo si trattano i casi di ^ e di _. Abbiamo quindi dimostrato che ogni segmento iniziale proprio di una formula assume in K un valore minore di 1, mentre ogni formula assume valore 1, quindi nessun segmento iniziale di una formula puo essere una formula. 3.3 Semantica enunciativa Seguendo una distinzione dovuta originariamente a Gottlob Frege (1848-1925), chiamiamo senso o intensione di un enunciato il pensiero espresso e signicato o estensione di un enunciato il suo valore di verita. I caratteri distintivi della logica classica, rintracciabili chiaramente gia nell'opera di Frege, sono l'estensionalita e la bivalenza. L'estensionalita della logica stabilisce che nella valutazione della correttezza di un'inferenza, sia rilevante solo il signicato degli enunciati, cioe il valore di verita. La bivalenza stabilisce che i possibili signicati degli enunciati sono solo due, il vero e il falso. D'ora in poi identicheremo i due valori di verita della logica classica rispettivamente con 1 e 0, quindi l'insieme dei valori di verita sara f0; 1g, ossia 2. L'esclusione dalla semantica dell'intensione degli enunciati e un'assunzione di portata molto vasta e dal carattere evidentemente riduttivo. L'identicazione del signicato col valore di verita comporta che due enunciati come \7 e maggiore di 5" e \Socrate e mortale" abbiano lo stesso signicato, vale a dire denotino lo stesso oggetto: 1. Non ha alcuna importanza che il primo esprima un pensiero che riguarda i numeri e il secondo un pensiero riguardante certi esseri umani, 75 3.3. Semantica enunciativa perche nell'analisi delle inferenze conta solo il signicato e gli unici signicati possibili sono 0 e 1. Vedremo in seguito che, pur rimanendo nell'ambito di una logica estensionale, e possibile recuperare la dierenza tra i due enunciati utilizzando l'analisi logica piu ranata fornita dalla logica predicativa, ma al livello di analisi logica a cui ci muoviamo ora i signicati dei due enunciati sono indistinguibili. A queste due caratteristiche della logica occorre aggiungere un principio fondamentale, identicato sempre da Frege, che regola la semantica del linguaggio enunciativo: la composizionalita del signicato. Tenendo presente che il compito degli enunciati e rappresentare nel linguaggio i signicati, il principio di composizionalita stabilisce una modalita importante di questa rappresentazione: il signicato di un enunciato composto mediante i connettivi e funzione del signicato degli enunciati componenti. Questo ci conduce ad associare ad ogni connettivo una funzione di verita , ossia una funzione che assume argomenti e valori in 2. Iniziamo dalla funzione di verita associata alla negazione, cioe dalla funzione f: : 2 ! 2 tale che x f: (x) 0 1 0 1 E chiaro che non essendoci altri signicati possibili per gli enunciati oltre a 0 e 1, la funzione f: , che commuta 0 in 1 e 1 in 0, cattura il signicato intuitivo della negazione e permette di calcolare il signicato di : noto quello di . La funzione di verita f^ : 22 ! 2 associata alla congiunzione e denita nel modo seguente: x 0 0 1 1 y f^ (x; y) 0 0 1 0 0 0 1 1 E intuitivo che una congiunzione ^ signichi il vero solo quando entrambi i congiunti e signicano il vero e quindi f^ calcola correttamente il signicato di ^ da quelli di e . Si osservi che l'ordine in cui vengono considerati gli enunciati da congiungere non inuenza il risultato, quindi l'operazione f^ risulta essere commutativa. La funzione di verita f_ : 22 ! 2 associata alla disgiunzione e denita nel modo seguente: x 0 0 1 1 y f_ (x; y) 0 0 1 1 0 1 1 1 76 Capitolo 3. Logica enunciativa Le denizione precedente comporta che una disgiunzione _ signichi il vero se almeno uno dei due disgiunti e signica il vero e sulla base di questa concezione \inclusiva" della disgiunzione f_ calcola in modo intuitivo il signicato di _ , dati i signicati di e . Naturalmente si potrebbe concepire la disgiunzione in modo tale che le due alternative debbano escludersi a vicenda, come richiede in latino l'uso di aut. Se si adotta la disgiunzione in questa accezione \esclusiva" occorre modicare la funzione di verita precedente, ponendo il valore 0 nell'ultima riga. Come vedremo in seguito, non e necessario adottare come primitiva la funzione di verita per la disgiunzione esclusiva, dato che puo essere ottenuta dalle altre per composizione. Poiche l'ordine in cui vengono considerati gli enunciati da disgiungere non inuenza il signicato, anche nel caso della disgiunzione l'operazione f_ risulta essere commutativa. La funzione di verita f! : 22 ! 2 associata all'implicazione e denita nel modo seguente: x y f! (x; y) 0 0 1 0 1 1 1 0 0 1 1 1 La funzione di verita f! e denita in modo tale che ! risulti falsa quando l'antecedente dell'implicazione e vero e il conseguente falso, e vera in tutti i casi restanti. La nozione intuitiva di implicazione non e catturata pienamente da questa funzione di verita. Infatti sembra poco plausibile che un enunciato come \Se 1 = 2 allora Parigi e in Francia" sia vero, anche se dobbiamo ammetterlo in conseguenza del fatto che f! (0; 1) = 1. Una prima giusticazione della denizione di f! si puo ottenere esaminando tutte le denizioni possibili. Se si concede che il comportamento di f! e corretto nei casi in cui l'antecedente e vero (gli ultimi due), le alternative possibili si riducono alle quattro seguenti: 0 0 1 1 0 1 0 1 0 0 0 0 1 1 1 1 Scegliendo la prima si ottiene f^ . Scegliendo la seconda si ottiene una funzione f(x; y) = y in cui il valore e sempre identico al secondo argomento. In tal modo asserire l'implicazione ! sarebbe equivalente ad asserire , il che non rende certo il senso intuitivo dell'implicazione. Scegliendo la terza si ottiene la funzione f$ descritta in seguito. In questo caso asserire l'implicazione ! sarebbe come asserire l'equivalenza di e , e anche cos non si renderebbe certo il senso intuitivo dell'implicazione per cui esiste un'asimmetria tra antecedente e conseguente. Non resta quindi che l'ultima colonna, quella di fatto adottata. Cio non cancella il disagio provocato da implicazioni come \Se 1 = 2 allora Parigi e in Francia", che dobbiamo considerare vere sebbene siano palesemente insensate, data la mancanza di un legame tra il pensiero espresso dall'antecedente e quello 77 3.3. Semantica enunciativa espresso dal conseguente, tuttavia di questo non possiamo piu lamentarci una volta che abbiamo accettato di escludere l'intensione e di ridurre il signicato di un enunciato al valore di verita. Mettere in discussione questa riduzione signica mettere in discussione l'impostazione estensionale che abbiamo dato al discorso logico, e non solo la specica tabella di calcolo della funzione f! . La funzione di verita f$ : 22 ! 2 associata all'equivalenza e denita nel modo seguente: x 0 0 1 1 y f$ (x; y) 0 1 1 0 0 0 1 1 E chiaro che l'equivalenza $ deve risultare vera quando, e solo quando, e hanno lo stesso signicato, ossia denotano lo stesso valore di verita. Sulla base di queste funzioni e possibile calcolare il valore di verita di qualsiasi formula una volta noti i valori di verita delle variabili che in essa occorrono. Consideriamo, ad esempio, :p0 ! (p1 _ p2 ). Se associamo le tre variabili enunciative p0, p1 e p2 con tre variabili x, y e z che varino sui valori di verita, e se rimpiazziamo ogni connettivo con la funzione di verita ad esso associata, otteniamo la funzione di verita composta f! (f: (x); f_ (y; z)): Se, ad esempio, il valore di verita di p0 e 1, quello di p1 e 1 e quello di p2 e 0, per ottenere il valore di verita di :p0 ! (p1 _ p2) basta sostituire nella funzione precedente x con 1, y con 1 e z con 0 e calcolare il risultato: f! (f: (1); f_ (1; 0)) = f! (0; 1) = 1: E possibile analizzare sistematicamente tutti i possibili risultati a cui puo dar luogo l'assegnamento di valori di verita alle lettere p0, p1 e p2. Questa analisi sistematica si attua mediante la costruzione della tavola di verita , ossia la tabella di calcolo della funzione di verita f! (f: (x); f_ (y; z)) associata alla formula in questione: p0 p1 p2 :p0 p1 _ p2 :p0 ! (p1 _ p2 ) 0 0 0 1 0 0 0 0 1 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 1 78 Capitolo 3. Logica enunciativa Le prime tre colonne contengono tutte le possibili triple di argomenti, la quarta e la quinta i risultati di calcoli intermedi e l'ultima contiene il valore nale. E chiaro che, in generale, la tavola di verita associata a un enunciato contenente n lettere distinte, ossia la tabella di calcolo di una funzione di verita in n variabili distinte, avra 2n righe. Tanti, infatti, sono i modi possibili di disporre due oggetti, per esempio 0 e 1, in successioni di lunghezza n. Per convincersene basta pensare che se la successione e di un solo elemento, vi sono solo 2 = 21 possibilita, 0 o 1. Supponiamo di avere a che fare con successioni di lunghezza n + 1. Per ipotesi induttiva le successioni di lunghezza n sono 2n ; da ognuna di esse si ottengono due successioni di lunghezza n + 1, aggiungendo 0 o 1. Quindi in totale le successioni di lunghezza n + 1 sono 2n 2 = 2n+1. Siamo ora in grado di giusticare la convenzione notazionale con cui abbiamo introdotto ! e $ . E facile vericare, infatti, che le due equazioni seguenti sono vere comunque si scelgano i valori di x e y: f! (x; y) = f_ (f: (x); y)) f$ (x; y) = f^ (f! (x; y); f! (y; x)). La prima equazione stabilisce che ! ha lo stesso signicato di : _ e la seconda che $ ha lo stesso signicato di ( ! ) ^ ( ! ). A questo punto dovrebbe essere chiaro che il signicato di una formula consiste non tanto in un valore di verita, quanto in una funzione che associa ad ogni assegnamento di valori di verita alle variabili di , il valore di verita che assume per tale assegnamento. Cio non contraddice l'idea che il signicato di un enunciato sia un valore di verita dato che, come abbiamo osservato nel paragrafo 3.1, una formula non rappresenta un singolo enunciato del linguaggio naturale, ma uno schema per formare enunciati aventi in comune la medesima forma logica isolata dalla formula in questione. Nella parte restante di questo paragrafo svilupperemo la semantica del linguaggio enunciativo distinguendo tra un signicato relativo delle formule e un signicato assoluto. Il signicato relativo di una formula e il valore di verita che le viene attribuito sulla base di una data valutazione : ! ! 2 che associa ad ogni variabile pi il valore di verita (i). Il processo attraverso il quale si conferisce alle formule un signicato relativo a una data valutazione si riduce al calcolo di funzioni di verita associate ai connettivi e puo essere descritto come un morsmo fra strutture dello stesso tipo. Da un lato abbiamo l'algebra delle formule FM e dall'altro i valori di verita organizzati nell'algebra D = (2; f^ ; f_ ; f: ), la restrizione dall'algebra di Boole con due elementi al linguaggio contenente solo f^; _; :g. Ogni valutazione induce una funzione g : P ! 2, denita ponendo g (pi ) = (i), che attribuisce un signicato relativo alle variabili enunciative. Dal teorema 3.2.1 sappiamo che FM e generata liberamente da P e quindi, per il teorema 2.6.1, ogni g : P ! 2 si estende a un'unico morsmo V al : FM ! D. Cio signica che, scrivendo : al posto di O: (), ^ al posto di O^ (; ) e _ al posto di O_ (; ), avremo 1. V al (pn) = g (pn ) 79 3.3. Semantica enunciativa 2. V al (:) = f: (V al ()) 3. V al ( ^ ) = f^ (V al (); V al ()), 4. V al ( _ ) = f_ (V al (); V al ()). L'indice serve a ricordare che il signicato attribuito alle formule da V al e relativo a una data . Si vede facilmente che la funzione V al trasforma il processo di generazione sintattico di una formula a partire dalle variabili, in un processo di generazione semantico del valore della formula a partire dai valori di verita associati alle variabili. I punti 2)-4) della recursione fanno in modo che la \forma" del processo di generazione sintattico sia conservata dal processo semantico, che ad ogni applicazione di un dato connettivo corrisponda quella della funzione di verita ad esso associata. Si consideri, ad esempio, la formula :pi ^ (pj _ pi ) di cui abbiamo visto la costruzione nel paragrafo 3.1. Presa una qualsiasi valutazione , possiamo rappresentare il processo di attribuzione del signicato relativo con l'albero (i) f: ((i)) (j) (i) @@ ;; @; f_ ((j); (i)) @ ;; @@ ; ; @@; f^ (f :((i)); f_ ((j); (i))) Si osservi che la forma di questo albero semantico riproduce esattamente quella dell'albero sintattico del paragrafo 3.1 e che ai nodi generati da f: , f^ e f_ corrispondono rispettivamente i nodi generati con O: , O^ e O_ . Mentre il signicato relativo di e il suo valore di verita rispetto a un dato assetto del mondo espresso da una valutazione , il signicato assoluto di e l'insieme degli assetti del mondo che rendono vera . Ogni formula denota quindi l'insieme delle circostanze che la rendono vera, ossia un insieme di valutazioni. L'attribuzione alle formule di un signicato assoluto sara allora un morsmo M dall'algebra delle formule FM verso l'algebra D(2! ) = (P(2! ); \; [; ;) che e la restrizione dell'algebra di Boole dei sottoinsiemi di 2! al linguaggio contenente solo f^; _; :g. La denizione di M avviene per recursione nel modo seguente. Innanzitutto deniamo una funzione g : P ! P(2! ) ponendo g(pi ) = f 2 2! : (i) = 1g: quindi g assegna ad ogni variabile enunciativa l'insieme delle valutazioni che rendono vera tale variabile. Dal teorema 3.2.1 sappiamo 80 Capitolo 3. Logica enunciativa che FM e generata liberamente da P e quindi, per il teorema 2.6.1, g si estende a un'unico morsmo M : FM ! D(2! ) che verica le condizioni seguenti: M( ^ ) = M() \ M(); M( _ ) = M() [ M(); M(:) = ;M(): Si osservi che essendo in realta la notazione ! un'abbreviazione per : _ , avremo M( ! ) = ;M() [ M(). Il teorema seguente mostra il rapporto tra signicato assoluto e signicato relativo. Teorema 3.3.1 Per ogni formula e ogni valutazione , V al () = 1 sse 2 M(). La dimostrazione e per induzione su . Se e pi, allora V al (pi ) = 1 sse g (pi) = 1 sse (i) = 1 sse 2 g(pi ) sse 2 M(pi). Se e : allora V al (:) = 1 sse V al () 6= 1 sse 2= M() sse 2 ;M() sse 2 M(:). Se e ^ allora V al ( ^ ) = 1 sse V al () = 1 e V al () = 1 sse 2 M() e 2 M() sse 2 M() \ M() sse 2 M( ^ ). Il caso in cui e una disgiunzione e trattato in modo analogo. Signicato relativo e signicato assoluto sono interdenibili. Se assumiamo come primitiva V al allora possiamo denire M() = f : V al () = 1g, se assumiamo come primitiva M allora possiamo denire V al () = 1 se 2 M(), V al () = 0 altrimenti. Nel nostro discorso saremo portati a privilegiare il signicato assoluto di una formula rispetto al suo signicato relativo: cio e dovuto al fatto che il discorso logico, nella sua pretesa di universalita, tende a considerare l'insieme delle circostanze in cui una formula e vera piuttosto che speciche situazioni in cui tale formula risulti essere vera. Il signicato assoluto di una formula puo anche essere concepito in termini funzionali, identicandolo con la funzione caratteristica di M(), ossia la funzione f da valutazioni a valori di verita tale che 2 M() f () = 10 se altrimenti. Diremo che f e la funzione di verita innitaria associata ad . Si verica facilmente che, per ogni , f () = V al (). Diremo che e modello di sse 2 M(), in simboli . Diremo che e soddisfacibile se possiede un modello. Quando e modello di diremo che e vera nella valutazione . Quindi il signicato di una formula (d'ora in poi sottointenderemo assoluto) e l'insieme delle valutazioni che la rendono vera, l'insieme dei suoi modelli. Diremo che una formula e una tautologia se M() = 2! , vale a dire se ogni valutazione e modello di . Scriveremo j= per indicare che e una tautologia, sottolineando in tal modo con la notazione che la sua verita non dipende dalla valutazione. Diremo che e una contraddizione se M() = ;, ossia se nessuna valutazione e modello di . Mostriamo, ad esempio, che _ : e una tautologia. A tale scopo basta vericare che M() [ 3.3. Semantica enunciativa 81 ;M() = 2! ossia che nell'algebra di Boole vale x _ :x = 1, il che e evidente. Analogamente si dimostra che ^ : e una contraddizione. In generale, per vericare che una formula e una tautologia siamo condotti a vericare la validita di un'equazione booleana. Ad esempio, nel caso di :(^) ! :_: dobbiamo vericare che ; ; (M() \ M()) [ (;M() [ ;M()) = 2! ossia che nell'algebra di Boole vale ; ; (x ^ y) _ (;x _ ;y) = 1. Utilizzando le leggi della doppia negazione, di De Morgan e del terzo escluso otteniamo ::(x ^ y) _ (:x _ :y) = (x ^ y) _ (:x _ :y) = (x ^ y) _ :(x ^ y) = 1: Teorema 3.3.2 Le proposizioni seguenti sono equivalenti. 1. e una tautologia, 2. per ogni , f () = 1, 3. per ogni , V al () = 1. 1) sse 2): se M() = 2! allora f e la funzione costante 1 e viceversa. 2) sse 3): per il teorema 3.3.1. Diremo che e equivalente a se M() = M(), quindi due formule sono equivalenti se hanno lo stesso signicato. Il teorema seguente mostra che e sono equivalenti se e solo se la loro equivalenza e una tautologia. Teorema 3.3.3 Per ogni e , 1. j= ! sse M() M(), 2. j= $ sse M() = M(). Per quanto riguarda la prima proposizione, si osservi che j= ! sse M( ! ) = 2! sse ;M() [ M() = 2! sse M() M(). L'ultimo passaggio dipende dal fatto che nelle algebre di Boole :x _ y = 1 sse x y. Per quanto riguarda la seconda, j= $ sse M( $ ) = 2! sse M( ! ) \ M( ! ) = 2! sse M( ! ) = 2! e M( ! ) = 2! sse M() M() e M() M() sse M() = M(). Il teorema precedente e particolarmente utile quando occorre dimostrare che formule di tipo ! o $ sono tautologie. La formula :(^) $ :_: e detta legge di De Morgan: verichiamo che si tratta di una tautologia mostrando che, dati due insiemi X, Y 2! , ;(X \ Y ) = ;X [;Y . A tale scopo possiamo vericare direttamente che, per ogni 2 2! , 2 ;(X \ Y ) sse 2= (X \ Y ) sse 2= X o 2= Y sse 2 ;X o 2 ;Y sse 2 ;X [ ;Y . Oppure e possibile ricavare l'equazione :(x ^ y) = :x _ :y dagli assiomi booleani (teorema 2.4.5) e concludere che la stessa equazione vale nell'algebra dei signicati D(2! ). E possibile sviluppare la logica enunciativa utilizzando il linguaggio basato sui connettivi di negazione e implicazione. Innanzitutto poniamo L = 82 Capitolo 3. Logica enunciativa P [ f:; !g e deniamo induttivamente l'insieme F m delle formule di L procedendo come nel paragrafo 3.1, otteniamo cos l'algebra delle formule FM = (Fm ; O!; O: ). L'algebra dei signicati sara D = (2; f! ; f: ). Il signicato relativo si ottiene con un morsmo V al da FM verso D indotto dalla valutazione , le cui proprieta fondamentali sono date dalle seguenti equazioni: 1. V al (:) = f: (V al (), 2. V al ( ! ) = f! (V al (); V al ()). Il signicato assoluto si ottiene con un morsmo M da FM verso la struttura (2! ; ); ;), dove ) e l'operazione binaria su insiemi tale che X ) Y = ;X [ Y . Come al solito poniamo M (pi ) = f 2 2! : (i) = 1g e le proprieta fondamentali del morsmo indotto sono espresse dalle equazioni seguenti: 1. M (:) = ;M (), 2. M ( ! ) = M () ) M (). A questo punto e possibile dimostrare un teorema che stabilisce i rapporti tra signicato assoluto e signicato relativo, analogo al teorema 3.3.1. Lasciamo questo compito al lettore e ci occupiamo invece della traducibilita fra i linguaggi L e L , dalla quale otterremo come corollario tali rapporti. Deniamo per recursione una funzione di traduzione da F m verso Fm, ponendo 1. (pi ) = pi , 2. (:) = :(), 3. ( ! ) = :() _ (). Lasciamo al lettore il compito di formulare correttamente le condizioni che rendono applicabile il teorema di recursione. Il teorema seguente mostra che la traduzione associa ad ogni formula di L una formula di L dello stesso signicato. Teorema 3.3.4 Per ogni di L, 1. M () = M(()), 2. V al () = V al (()). 1. La dimostrazione e per induzione sulle formule. Ovviamente M (pi ) = M((pi )). Nel caso della negazione, poiche per ipotesi induttiva M () = M(()), abbiamo M (:) = ;M () = ;M(()) = M(:()) = M((:)): 3.3. Semantica enunciativa 83 Nel caso dell'implicazione, poiche per ipotesi induttiva vale M () = M(()) e M () = M(()), abbiamo M (( ! )) = M(:() _ ()) = ;M(()) [ M(()) = ;M() [ M() = M() ) M() = M( ! ): 2. La dimostrazione e analoga alla precedente. Siamo ora in grado di dimostrare il rapporto tra signicato assoluto e signicato relativo nel caso di L . Corollario 3.3.5 Per ogni di L, V al () = 1 sse 2 M (). Per il secondo punto del teorema precedente, V al () = 1 sse V al (()) = 1. Per il teorema 3.3.1, V al (()) = 1 sse 2 M(()). Inne 2 M(()) sse 2 M (), per il primo punto del teorema precedente. In seguito si rivelera utile anche la traduzione da F m verso Fm denita ponendo 1. (pi) = pi 2. (:) = : (), 3. ( ^ ) = :( () ! : ()); 4. ( _ ) = : () ! (). Tale traduzione assegna ad ogni formula di L una formula di L di signicato identico, come mostra il teorema seguente. Teorema 3.3.6 Per ogni di L, M() = M ( ()). La dimostrazione e per induzione sulle formule. Il caso delle variabili enunciative e banale. Il caso della negazione segue immediatamente dall'ipotesi induttiva. Supponiamo ora che sia ^ . Per ipotesi induttiva abbiamo M() = M ( ()) e M() = M ( ()). Vale allora M ( ( ^ )) = M (:( () ! : ())) = ;(M ( ()) ) ;M ( ())) = ;(;M ( ()) [ ;M ( ())) = M ( ()) \ M ( ()) = M() \ M() = M( ^ ): In modo analogo si procede quando e _ . 84 Capitolo 3. Logica enunciativa Esercizio 3.3.1 Utilizzando il teorema 3.3.3, si verichi che le formule seguenti sono tautologie: ! (legge d'identita), :: $ (legge della doppia negazione), ! ( ! ) (a fortiori), :( _ ) $ (: ^ :) (legge di De Morgan), ( ! ) $ (: ! :) (legge di contrapposizione), ( ! ( ! )) $ ( ! ( ! )) (scambio di premesse), ( ! ( ! )) $ ( ^ ! ), 8. ! (: ! ) (ex falso sequitur quodlibet o legge di Duns Scoto). 1. 2. 3. 4. 5. 6. 7. Esercizio 3.3.2 Si dimostri che, per ogni 2 F m e ogni 2 2!, f () = V al (). Esercizio 3.3.3 Si considerino i linguaggi L^ e L_ basati rispettivamente sui connettivi f:; ^g e f:; _g. Dopo aver denito per essi una semantica nel modo usuale, si deniscano traduzioni verso e da L in modo che a ogni formula di L^ e L_ sia associata una formula di L con lo stesso signicato e viceversa. Esercizio 3.3.4 Diciamo che X 2! e n-completo se, per ogni , 2 2! , 2 X e n = n implica 2 X. Si dimostri che gli insiemi n-completi formano un'algebra di Boole A che e sottoalgebra di B(2! ), l'algebra dei sottoinsiemi di 2! . Si consideri la funzione f : P (2! ) ! P (2n) denita ponendo f(X) = X n. Si verichi che f non e un morsmo, mentre la restrizione di f ad A lo e. Si dimostri che gli n-completi coincidono con le immagini delle formule n-arie in M. 3.4 Signicato nitario E possibile ricondurre la semantica a un ambito nitario e riconnettersi al discorso iniziale sulle tavole di verita introducendo il concetto di formula n-aria. Per ogni n > 0, poniamo Pn = fp0 ; :::; pn;1g e quindi consideriamo la sottostruttura FMn generata in FM da Pn, ossia la minima sottostruttura dell'algebra delle formule contenente l'insieme Pn. Il dominio F mn di FMn e l'insieme denito induttivamente in FM dalla coppia (B; F ), dove B = Pn e F = fO^ ; O_ ; O: g. Deniamo formule n-arie gli elementi di Fmn: indicheremo con (p0 ; : : : ; pn;1) una generica formula n-aria per sottolineare che in essa possono occorrere solo variabili di indice minore di n. Il teorema seguente fornisce una denizione esplicita delle formule n-arie che permette di riconoscerle facilmente in Fm. 3.4. Signicato nitario 85 Teorema 3.4.1 Fmn e l'insieme delle formule in cui occorrono solo variabili di indice minore di n. Sia X l'insieme delle formule in cui occorrono solo variabili di indice minore di n. Per dimostrare che Fmn X basta osservare che X e il dominio di una sottostruttura di FM contenente Pn: infatti ogni pi , con i < n, appartiene a X e inoltre X e chiuso rispetto alle operazioni di FM. L'asserto segue allora dal fatto che FMn e la minima sottostruttura di FM che include Pn. Dimostriamo ora che X Fmn , ossia che per ogni formula 2 Fm, se 2 X allora 2 Fmn. La dimostrazione e per induzione sulle formule e quindi dobbiamo provare che l'insieme Y = f 2 Fm : 2 X implica 2 F mng include Pn ed e chiuso rispetto a O: , O^ e O_ . Evidentemente pi 2 X implica i < n e quindi pi 2 Pn e pi 2 Fmn . Mostriamo ora che se e appartengono a Y allora anche ^ 2 Y : infatti se ^ 2 X allora anche e contengono solo variabili di indice minore di n e quindi appartengono a X, ma allora appartengono a Fmn per ipotesi e quindi anche ^ appartiene a Fmn, dato che quest'ultimo e chiuso rispetto a O^ . Lo stesso discorso vale per i connettivi : e _. Si osservi, ad esempio, che p0 ^ p1 e una formula 2-aria e quindi del tipo di (p0 ; p1). La medesima formula, pero, e anche 3-aria, dato che le sue variabili hanno indice minore di 3, e quindi e anche del tipo di (p0; p1; p2). La formula p1 ^ p2 non e 2-aria, anche se contiene esattamente due variabili, e quindi non e del tipo di (p0 ; p1). Essa e 3-aria, e in generale n-aria per ogni n > 2, quindi possiamo pensarla come (p0 ; : : : ; pn;1), per ogni n > 2. Per le stesse ragioni, ogni variabile pi e una formula j-aria, per ogni j > i. E quindi evidente che una stessa formula puo essere considerata come formula n-aria per inniti valori di n e che Fmi Fmj , per ogni i j. Il fatto che una formula possa avere arieta diverse e che l'arieta non coincida col numero delle variabili che essa contiene e certamente poco intuitivo, tuttavia questa denizione di formula n-aria permette di vedere l'insieme delle formule n-arie come un insieme denito induttivamente da Pn in FM. Se denissimo \formula n-aria" come \formula in cui occorrono esattamente n variabili distinte" o come \formula in cui n e il massimo degli indici delle variabili eettivamente occorrenti in essa", otterremmo che ogni formula sarebbe n-aria per un unico valore di n, ma non potremmo piu dimostrare il teorema precedente e quindi non potremmo piu denire per recursione sulle formule n-arie, come ci accingiamo a fare. Associamo alle formule n-arie un signicato nitario nel modo seguente. Innanzitutto osserviamo che come FM e generata liberamente da P, cos FMn e generata liberamente da Pn: cio rende possibile denire per recursione un morsmo M n da FMn verso l'algebra D(2n) = (P(2n); \; [; ;) facendolo indurre da una funzione g : Pn ! P(2n) tale che g(pi ) = fs 2 2n : s(i) = 1g: per il teorema 2.6.1 g si estende a un unico morsmo M n dall'algebra delle formule n-arie verso D( 2n ). Chiameremo M n() signicato n-ario di . Il signicato n-ario puo anche essere pensato in termini funzionali, identicandolo con la funzione caratteristica di M n (), ossia con la funzione n-aria fn 86 Capitolo 3. Logica enunciativa da 2n verso 2 tale che, per ogni s 2 2n, 2 M n() n f (s) = 10 se saltrimenti. Diremo che fn e la funzione di verita n-aria associata ad : le tavole di verita, dalle quali ha preso avvio il nostro discorso sulla semantica, non sono altro che le tabelle di calcolo delle funzioni di verita n-arie associate alle formule. Il signicato n-ario ha il vantaggio di essere un insieme nito, mentre M() e in genere un insieme innito, addirittura piu che numerabile. Naturalmente possiamo parlare di signicato n-ario solo per formule n-arie e cio costituisce un limite quando si vogliono confrontare i signicati di un insieme innito di formule. Infatti, mentre due formule e possono sempre essere considerate n-arie per qualche n, un insieme innito di formule puo contenere formule di arieta arbitrariamente grande e quindi puo non esistere un n tale che tutte siano formule n-arie. In questo caso i signicati delle formule possono essere confrontati solo come valori di M e quindi M non e sostituibile dalla totalita delle M n . I signicati M() e M n() sono stati deniti per recursione in modo indipendente, ma si tratta di due concetti correlati: il signicato nitario M n () si ottiene troncando le valutazioni di M() al livello n. Ricordiamo che n = ((0); :::; (n ; 1)) e deniamo, per ogni X 2! , X n = f n : 2 X g. Teorema 3.4.2 Se e n-aria e se e sono valutazioni tali che n = n allora 2 M() sse 2 M(). La dimostrazione e per induzione su . Se = pi e certamente i < n e poiche da n = n deriva (i) = (i) per i < n, abbiamo 2 (pi ) sse (i) = 1 sse (i) = 1 sse 2 (pi ). Se = :, allora e n-aria e per ipotesi induttiva abbiamo 2 M() sse 2 M(), quindi 2 M(:) sse 2= M() sse 2= M() sse 2 M(:): Se = ^ allora e sono n-arie, quindi 2 M() sse 2 M() e 2 M() sse 2 M(). Abbiamo allora 2 M( ^ ) sse 2 M() e 2 M() sse 2 M() e 2 M() sse 2 M( ^ ). Il caso della disgiunzione e trattato in modo analogo. Teorema 3.4.3 Per ogni formula n-aria , M n() = M() n. La dimostrazione e per induzione su . Evidentemente, essendo i < n, M n (pi ) = fs 2 2n : s(i) = 1g = M(pi ) n. Se = : allora M n (:) = ;M n () = ;M() n per ipotesi induttiva. Resta da dimostrare che ;M() n = M(:) n. Assumiamo s 2 ;M() n, 3.4. Signicato nitario 87 allora s 2= M() n e quindi per ogni tale che n = s, 2= M() e percio 2 M(:), ma allora s 2 M(:) n. Viceversa, se s 2 M(:) n allora esiste tale che n = s e 2 M(:). Quindi 2 ;M() e 2= M(). Se valesse s 2 M() n allora esisterebbe tale che n = s e 2 M(), ma per il teorema precedente allora anche 2 M(), il che e assurdo. Quindi s 2= M() n e s 2 ;M() n. Se = ^ allora M n( ^ ) = M n() \ M n() = M() n \ M() n per ipotesi induttiva. Resta da dimostrare che M() n \ M() n = M( ^ ) n. Assumiamo s 2 M() n e s 2 M() n. Allora esiste tale che n = s e 2 M() ed esiste tale che n = s e 2 M(). Per il teorema precedente 2 M() e quindi, poiche 2 M(), 2 M( ^ ) e s 2 M( ^ ) n. Viceversa, se s 2 M( ^ ) n allora esiste tale che n = s e 2 M( ^ ), ma allora 2 M() e 2 M() e quindi s 2 M() n e s 2 M() n, percio s 2 M() n \ M() n. Se e _ la dimostrazione e analoga. Possiamo ora ricondurre il concetto di tautologia all'ambito nitario e alle tavole di verita dimostrando che, se e n-aria, allora e una tautologia sse M n () = 2n . Infatti e una tautologia sse M() = 2! sse M() n = 2! n, usando il teorema 3.4.2, sse M n () = 2n, usando il teorema 3.4.3. Corollario 3.4.4 Per ogni 2 F mn e ogni 2 2! , f() = fn ( n). Per le denizioni di fn e di f e per il teorema precedente, fn ( n) = 1 sse n 2 M n () sse n 2 M() n sse 2 M() sse f () = 1. Anche per L , il linguaggio basato sui connettivi : e !, possiamo parlare di formule n-arie e possiamo denire il signicato signicato nitario come un morsmo Mn che assegna a ogni formula n-aria un insieme di n-ple di valori di verita. Lasciamo al lettore il compito di formulare le denizioni dell'algebra delle formule n-arie nel caso di L e dell'algebra in cui tali formule assumono i loro signicati. Come abbiamo gia dimostrato per L, il signicato nitario di una formula si puo ottenere con una restrizione delle valutazioni che ne costituiscono il signicato. Osserviamo innanzitutto che la traduzione , denita nel paragrafo 3.3, porta formule n-arie su formule n-arie: cio permette di dimostrare il teorema seguente. Teorema 3.4.5 Per ogni formula n-aria di L , Mn() = M n(()). La dimostrazione, per induzione sulle formule, ricalca quella del teorema 3.3.4 ed e lasciata al lettore. Corollario 3.4.6 Per ogni formula n-aria di L , Mn () = M () n. Vale s 2 Mn () sse s 2 M n(()), per il teorema precedente, sse s 2 M(()) n per il teorema 3.4.3, sse s 2 M () n, per il teorema 3.3.4. Ogni formula del linguaggio enunciativo esprime un signicato costituito da un sottoinsieme di 2! . Per ragioni di cardinalita non tutti i sottoinsiemi di 2! sono il signicato di qualche formula, tuttavia e possibile dimostrare che ogni 88 Capitolo 3. Logica enunciativa sottoinsieme di 2n e il signicato di una formula n-aria e che per ogni funzione f : 2n ! 2 esiste una formula n-aria tale che f = fn , vale a dire f e la funzione di verita n-aria associata ad . Innanzitutto introduciamo una notazione che permetta di rappresentare in modo abbreviato le congiunzioni e le disgiunzioni nite di formule. Poniamo quindi, per ogni n > 0 e ogni 0 ; :::; n;1, ^ _ i = 0 ^ ::: ^ an;1 e i = 0 _ ::: _ an;1: i<n i<n V Diremo allora che una congiunzione i<n i e una congiunzione fondamentale n-aria se, per ogni i < n, Vi = pi oppure i = :pi . Osserviamo che ad ogni n congiunzione fondamentale i<n i e associata esattamente una n-pla s 2 2 V n tale che M ( i<n i) = fsg, e precisamente la n-pla s tale che si = 1 se i = pi e si = 0 se i = V:pi . Viceversa, per Vogni s 2 2n esiste un'unica congiunzione fondamentale i<n i tale che M n ( i<n i) = fsg. Diremo che una formula n-aria e in forma normale disgiuntiva se e una disgiunzione di congiunzioni fondamentali. Supponiamo, ad esempio, che sia n = 3: esistono allora 23 congiunzioni fondamentali 3-arie: 0 = p0 ^ p1 ^ p2 1 = p0 ^ p1 ^ :p2 2 = p0 ^ :p1 ^ p2 .. .. . . 7 = :p0 ^ :p1 ^ :p2 W Ogni disgiunzione j<k j di formule i scelte tra le 0; :::; 7 e una forma normale disgiuntiva 3-aria. Una forma normale disgiuntiva n-aria conterra al massimo 2n disgiunti, scelti tra le 2n possibili congiunzioni fondamentali n-arie. Teorema 3.4.7 Per ogni X 2n esiste una forma normale disgiuntiva n-aria tale che M n() = X . Per ogni s 2 X esiste una congiunzione fondamentale sWtale che M n( s ) = fsg e quindi consideriamo la forma normale disgiuntiva s2X s. Abbiamo allora _ [ M n ( s ) = M n( s) = X; s2X s2X dato che M n( s ) = fsg per ogni s 2 X. Corollario 3.4.8 Per ogni formula n-aria esiste una formula in forma normale disgiuntiva n-aria equivalente ad , ossia tale che M() = M(). Dal teorema 3.4.3 sappiamo che M() n = M n(). D'altra parte M n () e un sottoinsieme di 2n e quindi, per il teorema precedente, esiste una formula n-aria in forma normale disgiuntiva tale che M n () = M n(). Sempre per il 3.5. Sostituzione 89 teorema 3.4.3 abbiamo M n() = M() n e quindi M() n = M() n. Per il teorema 3.4.2 possiamo concludere che M() = M(). Il signicato nitario puo essere pensato come una funzione di verita da 2n verso 2: il corollario seguente mostra che anche da questo punto vista ogni signicato nitario e esprimibile mediante una formula. Corollario 3.4.9 Per ogni n > 0 e ogni f : 2n ! 2 esiste una formula n-aria tale che f = fn . Ogni funzione f : 2n ! 2 e la funzione caratteristica di un insieme X 2n. Per il teorema precedente X = M n () per qualche formula n-aria e quindi, per denizione, f e la funzione di verita n-aria associata ad ossia f = fn . Come abbiamo visto alla ne del paragrafo 3.3, i linguaggi L e L sono equivalenti, nel senso che e possibile tradurre ogni formula dell'uno in una formula dell'altro avente lo stesso signicato. Quindi anche L e in grado di esprimere tutti i possibili signicati nitari: se X 2n dal teorema precedente sappiamo che esiste una formula di L tale che X = M n(), per il teorema 3.4.3 M n () = M() n, per il teorema 3.3.6 M() = M ( ()) e quindi M() n = M ( ()) n, inne M ( ()) n = Mn ( ()) per il corollario 3.4.6. Esercizio 3.4.1 Si dimostri che per ogni , 2 F mn, 1. M() M() sse M n() M n(), 2. M() = M() sse M n() = M n(). 3.5 Sostituzione Consideriamo l'insieme E delle espressioni di un linguaggio L strutturato dall'operazione di concatenazione di successioni nite. Intuitivamente un'espressione b occorre in un'espressione a se esistono due espressioni x e y tali che a = x b y. (E possibile che x o y o entrambe siano la successione vuota.) Ad esempio, :p0 occorre in ^:p0:p1, ponendo x uguale a ^ e y a :p1. Tuttavia a puo occorrere in luoghi diversi di b. Ad esempio, :p0 occorre due volte in ^:p0 ^:p0: la prima occorrenza si ottiene ponendo x uguale a ^ e y a ^:p0 e la seconda ponendo x uguale a ^:p0^ e y alla successione vuota. Per individuare le varie occorrenze di a in b possiamo numerarle da sinistra a destra; nel caso precedente, quindi, parleremo della prima e della seconda occorrenza di :p0 in ^:p0 ^ :p0. Se in a vi sono n occorrenze di b, allora esistono delle espressioni x1 ; : : : ; xn+1 tali che a = x1 b x2 b : : : xn b xn+1: Se a contiene n occorrenze di b, deniamo sezione determinata dalla i-esima occorrenza di b, (0 i n), la coppia di espressioni (y; z) dove y = x1 b x2 : : : xi;1 b xi 90 Capitolo 3. Logica enunciativa e z = xi+1 b xi+2 : : : xn b xn+1 : Evidentemente vale a = y b z. Diremo inne che a0 e ottenuta da a per rimpiazzamento dell'n-esima occorrenza di b con c se (y; z) e la sezione determinata in a dall'n-esima occorrenza di b e a0 = y c z. Quindi se nell'espressione ^:p0 ^:p0 rimpiazziamo la prima occorrenza di :p0 con p1 otterremo ^p1 ^:p0, se rimpiazziamo la seconda otterremo ^:p0 ^ p1. A dierenza del rimpiazzamento, che e un'operazione di tipo locale che agisce su singole occorrenze di una data espressione, l'operazione di sostituzione e di tipo globale ed agisce simultaneamente su tutte le occorrenze di una data variabile. Potremmo denire l'operazione di sostituzione nei termini dell'operazione di rimpiazzamento nel modo seguente: per ogni coppia di formule , e ogni variabile pi , il risultato della sostituzione di pi con in si ottiene rimpiazzando simultaneamente con ogni occorrenza di pi in . In tal modo rimarrebbe tuttavia da dimostrare che il risultato della sostituzione di una variabile con una formula sia ancora una formula, e non un'espressione qualsiasi. Preferiamo quindi presentare la sostituzione come un morsmo dell'algebra delle formule in se stessa. Deniamo sostituzione una funzione : P ! Fm. Poiche l'algebra delle formule e generata liberamente da P , e possibile estendere ogni sostituzione ad un'unico morsmo So : FM ! FM. Avremo quindi 1. 2. 3. 4. So (pi) = (pi ) So (:) = :So () So ( ^ ) = So () ^ So (), So ( _ ) = So () _ So (). Se e una formula n-aria e (pi ) = i , indicheremo spesso So (a) con la notazione piu intuitiva (p0 = 0 ; :::; pn;1= n;1) o ( 0 ; :::; n;1); poiche So compie sulle formule una trasformazione che dipende unicamente dai valori di relativi alle variabili pi di indice i < n, esattamente come V al assegna un signicato che dipende solo dai valori di per i < n. Possiamo visualizzare il processo di sostituzione operato da So sulla formula generando la costruzione ad albero di , cambiando nei nodi terminali ogni variabile pi con la formula (pi ), e quindi procedendo verso il basso applicando nello stesso ordine le operazioni O: , O^ e O_ . Al termine di questo processo la formula che occupa la radice sara So (). La sostituzione puo operare anche tra due linguaggi diversi. Se L0 = C [P0 e L1 = C [P1, possiamo estendere il concetto di sostituzione al caso di una funzione : P0 ! F m1 , dato che anche in questo caso e possibile estendere a un'unica funzione So : Fm0 ! Fm1 . Se supponiamo che P0 sia l'insieme delle variabili metalinguistiche , ; : : :, diremo che una 91 3.5. Sostituzione formula di L0 e uno schema perche puo dare origine a una innita di formule di L1 al variare di : P0 ! F m1 . Concludiamo osservando che l'ordine in cui si compiono le sostituzioni e essenziale. Supponiamo ad esempio che valga 0(pi ) = pj e che 0 sia l'identita per ogni altro argomento. Supponiamo inoltre che valga 1(pj ) = pk e che 1 sia l'identita in ogni altro caso. Abbiamo allora So 1 (So 0 (pi ^ pj )) = pk ^ pk e So 0 (So 1 (pi ^ pj )) = pj ^ pk : Possiamo ora dimostrare un teorema che considera l'azione combinata di So e V al . Data una sostituzione e una valutazione , deniamo una valutazione ponendo (i) = V al ((pi )). Potremmo dire che con viene rappresentata sul piano semantico la sostituzione che compie sul piano sintattico: attribuisce a pi il signicato che attribuisce alla formula che sostituisce a pi . Teorema 3.5.1 Per ogni sostituzione , valutazione e formula , V al (So ()) = V al (): Dobbiamo dimostrare che i due morsmi V al So e V al coincidono, come mostra la gura seguente: FM So QQ - FM V alQ Q QQs ?V al D V al = V al So Poiche entrambi sono morsmi dalla struttura FM verso D e poiche FM e generata da P , per il teorema 2.5.2 e suciente dimostrare che i due morsmi coincidono sui generatori, ossia V al (So (pi )) = V al (pi ) per ogni i 2 !. Vale infatti V al (So (pi )) = V al ((pi )) = (i) = V al (pi ). E anche possibile dimostrare il teorema procedendo per induzione sulle formule, senza ricorrere al teorema 2.5.2: la facile dimostrazione e lasciata al lettore. Il corollario seguente permette di concepire ogni tautologia come una forma da cui e possibile ricavare per sostituzione un numero innito di tautologie. Corollario 3.5.2 Per ogni formula e ogni sostituzione , se e una tautologia allora anche So () lo e. Basta osservare che, al variare di , V al () = 1, poiche e una tautologia e quindi, per il teorema, anche V al (So ()) = 1. 92 Capitolo 3. Logica enunciativa Teorema 3.5.3 Siano , e tali che V al () = V al (). Se 0 e 1 sono due sostituzioni tali che 0 (pi) = e 1 (pi ) = e per ogni j = 6 i, 0 (pj ) = 1(pj ), allora per ogni formula , V al (So 0 ()) = V al (So 1 ()). Occorre dimostrare che V al So 0 = V al So 1 e, come nel teorema precedente, possiamo ridurci a dimostrare che, per ogni j 2 !, V al (So 0 (pj ) = V al (So 1 (pj ): Se j 6= i allora So 0 (pj ) = So 1 (pj ), perche per ipotesi 0 (pj ) = 1 (pj ), e da cio segue subito l'asserto. Se j = i allora So 0 (pj ) = e So 1 (pj ) = , ma allora per ipotesi V al () = V al (). Corollario 3.5.4 Se e sono equivalenti e se le sostituzioni 0 e 1 sono come nel teorema precedente, allora anche So 0 () e So 1 () sono equivalenti. E chiaro che se e sono equivalenti allora M() = M() e quindi, per il teorema 3.3.1, V al () = V al () per ogni , ma allora, per il teorema precedente, anche So 0 () e So 1 () sono equivalenti. Il corollario seguente e di importanza fondamentale perche garantisce che il rimpiazzamento di formule equivalenti non muta il signicato della formula al cui interno il rimpiazzamento viene compiuto. Corollario 3.5.5 Se occorre in , 0 e una formula equivalente ad e 0 e ottenuta da rimpiazzando in essa un'occorrenza di con 0 , allora e equivalente a 0 . Sia (x; y) la sezione relativa alla data occorrenza di in e quindi sia = x y. Consideriamo = x pk y, dove pk e una variabile che non occorre in . Possiamo descrivere il risultato 0 del rimpiazzamento di quella occorrenza di in mediante 0 in termini di sostituzioni nel modo seguente. Deniamo 0 e 1 in modo tale che siano l'identita su tutte le variabili diverse da pk , mentre porremo 0(pk ) = e 1 (pk ) = 0 . Abbiamo sia So 0 () = sia So 1 () = 0, quindi, per il corollario precedente, se e equivalente ad 0 allora e equivalente a 0. Il teorema seguente illustra i rapporti tra l'operazione di sostituzione sul piano sintattico e l'operazione di composizione di funzioni sul piano semantico. Teorema 3.5.6 Se e una formula k-aria e 0; :::; k;1 sono formule n-arie, allora fn(0 ;:::;n;1 ) = Compnk (fk ; gn0 ; :::; gnn;1 ). 93 3.6. Conseguenza logica Sia s 2 2n e sia una valutazione coincidente con s sui primi n posti, ossia n = s. Sia una sostituzione tale che (pi ) = i per i < k. Abbiamo allora (i) = V al ((pi)) = V al ( i ) = fi () = fni ( n); dove l'ultimo passaggio deriva dal corollario 3.4.4. Abbiamo allora Compnk (fk ; gn0 ; : : : ; gnk;1 )(s) = = = = = Compnk(fk ; gn0 ; : : : ; gnk;1 )( n) fk (fn0 ( n); : : : ; fnk;1 ( n)) fk ( (0); : : : ; (k ; 1)) fk ( k) f ( ): Ricordando che V al () = V al (( 0 ; : : : ; k;1)) per il teorema 3.5.1, abbiamo che 2 M() sse 2 M(( 0; : : : ; k;1)), per il teorema 3.3.1, e quindi f ( ) = f(0 ;::: ;k;1 ) () = fn(0 ;::: ;k;1 ) ( n) = fn(0 ;::: ;k;1 ) (s): Da questo teorema si ottiene immediatamente un'altra dimostrazione del fatto che la sostituzione trasforma tautologie in tautologie. Esercizio 3.5.1 Elencare le formule e le sostituzioni tali che So () = p0 ^ (:p1 _ p0 ). Esercizio 3.5.2 Il rimpiazzamento trasforma sempre tautologie in tautologie? 3.6 Conseguenza logica A questo punto possiamo ritornare al tema fondamentale del nostro discorso: la teoria dell'inferenza e la nozione di conseguenza logica. In prima istanza abbiamo denito un'inferenza corretta quando tra premesse e conclusione dell'inferenza sussiste una relazione di conseguenza logica, ossia se in ogni circostanza in cui le premesse sono vere anche la conclusione risulta vera. Se identichiamo l'insieme delle circostanze in cui una formula e vera con l'insieme delle valutazioni per cui risulta vera, ossia con il suo signicato, possiamo allora dire che e conseguenza logica di , in simboli j= , se M() M(). Vale a dire, j= sse ogni valutazione che rende vera rende vera anche , ossia ogni modello di e anche modello di . Ad esempio, si verica facilmente che p0 j= p0 _ p1 , dato che M(p0 ) M(p0 ) [ M(p1 ). Se vogliamo estendere il concetto di conseguenza logica al caso in cui vi siano piu premesse, occorre estendere la funzione M a insiemi di formule: poniamo 94 Capitolo 3. Logica enunciativa T allora, per ogni ; Fm, M(;) = fM() : 2 ;g. Quindi il signicato di un insieme di formule e l'intersezione dei signicati delle formule che lo compongono, l'insieme dei modelli comuni. In particolare, quando ; e l'insieme nito f0 ; : : : ; n;1g abbiamo M(;) = M(0) \ ::: \ M(n;1). Diremo che una valutazione e modello di ;, indicandolo con j= ;, quando 2 M(;): quindi una valutazione e modello di un insieme di formule quando e modello di ogni formula dell'insieme. Diremo che un insieme di formule ; e soddisfacibile se esiste un tale che j= ;. (La notazione j= introdotta nel paragrafo precedente puo essere vista come un'abbreviazione di j= fg.) Possiamo ora denire la nozione generale di conseguenza logica nel modo seguente: e conseguenza logica dell'insieme di premesse ;, in simboli ; j= , se M(;) M(). (Quando ; e un insieme nito, scriveremo semplicemente 0 ; : : : ; n;1 j= invece di f0 ; : : : ; n;1g j= .) In altri termini, e conseguenza logica di ; sse ogni valutazione che renda vera simultaneamente ogni formula 2 ; rende vera anche , ossia ogni modello di ; e modello di . In particolare, e conseguenza logica di 0 ; : : : ; n;1 sse M(0 )\:::\M(n;1) M() e nel caso di n = 1 riotteniamo la nozione iniziale. Il concetto di conseguenza logica e di importanza fondamentale e richiede alcune osservazioni. 1) Non bisogna confondere l'uso del simbolo j= nell'esprimere la relazione tra valutazioni e formule, j= , ossia e modello di , con l'uso appena introdotto per indicare la relazione di conseguenza logica tra insiemi di formule e singole formule. 2) Non bisogna confondere i signicati di j= e !. Il simbolo ! serve per costruire formule del linguaggio oggetto, ossia del linguaggio formale L, come ! . Il simbolo j= fa parte del metalinguaggio, ossia del linguaggio naturale, e serve per costruire asserzioni dotate di un signicato intuitivo come j= , che semplicemente abbrevia \ e conseguenza logica di ". 3) Bisogna considerare attentamente la struttura della denizione di conseguenza logica ; j= : per ogni (se per ogni 2 ; accade che j= , allora j= ). Si osservi che il primo \per ogni" riguarda tutta l'implicazione tra parentesi ed e una quanticazione su valutazioni, mentre il secondo riguarda solo l'antecedente dell'implicazione ed e una quanticazione sulle formule di ;. Quando ; = fg il secondo \per ogni" scompare e asserire j= signica semplicemente asserire che, per ogni valutazione , se j= allora j= . Quando ; = f0; : : : ; n;1g possiamo leggere il secondo \per ogni" come una congiunzione nita e asserire 0 ; : : : ; n;1 j= signica asserire che, per ogni , se ( j= 1 e : : : e j= n;1) allora j= . 4) Per quanto riguarda il primo \per ogni", non bisogna commettere l'errore di distribuirlo sull'antecedente e il conseguente dell'implicazione, leggendo j= come se fosse: se per ogni , j= , allora per ogni , j= . Cio equivarrebbe ed asserire: se j= allora j= , ossia se e una tautologia allora e una tautologia. E facile vedere che se j= allora \se e una tautologia allora e una tautologia": infatti se e una tautologia abbiamo M() = 2! e quindi, essendo M() M(), anche M() = 2! , quindi anche e una tautologia. Non vale invece l'implicazione inversa: ad esempio, se p0 e una tautologia allora anche p1 e una tautologia, ma non vale p0 j= p1 . 95 3.6. Conseguenza logica 5) Per quanto riguarda il secondo \per ogni", se per una data valutazione accade che non tutte le premesse 2 ; sono vere in , allora l'implicazione (se per ogni 2 ; accade che j= allora j= ) e vera. Se cio accade per tutte le valutazioni, ossia se M(;) e vuoto, ad esempio perche ; contiene sia che :, allora ; j= qualunque sia . Illustriamo la nozione di conseguenza logica con un esempio. Si verica facilmente che p0 _ p1 ; p2 ! :p1; p2 j= p0 ; poiche M(p0 _ p1) \ M(p2 ! :p1 ) \ M(p2), vale a dire (M(p0) [ M(p1)) \ (;M(p2 ) [ ;M(p1 )) \ M(p2), e incluso in M(p0). Per vericarlo basta dimostrare che nell'algebra Boole vale (x _ y) ^ (:z _ :y) ^ z x. Infatti (x _ y) ^ (:z _ :y) ^ z = = = = (x _ y) ^ ((:z ^ z) _ (:y ^ z)) (x _ y) ^ (:y ^ z) (x ^ :y ^ z) _ (y ^ :y ^ z) x ^ :y ^ z x: Quando l'insieme delle premesse e nito si puo vericare se sussiste la relazione di conseguenza utilizzando il signicato nitario delle formule: per vericare se 0; : : : ; n;1 j= possiamo considerare il minimo n tale che le formule coinvolte nella conseguenza logica siano tutte n-arie e limitarci a vericare se M n (0) \ ::: \ M n(n;1) M n(). Infatti M(0 ) \ ::: \ M(n;1) M() sse M(0 ^ ::: ^ n;1) M(), d'altra parte per l'esercizio 3.4.1 quest'ultima inclusione equivale a M n (0 ^ ::: ^ n;1) M n() che a sua volta equivale a M n (0) \ ::: \ M n (n;1) M n(). p0 _ p1 p2 ! :p1 111 110 110 101 101 100 100 011 010 010 001 000 p2 p0 111 111 110 101 101 100 011 001 La tabella precedente riporta sotto a ogni formula i suoi modelli e si vede chiaramente che l'insieme dei modelli delle premesse e incluso nell'insieme dei modelli della conclusione. Il teorema seguente mostra il fondamentale rapporto che esiste tra conseguenza logica e implicazione. Teorema 3.6.1 ;; j= sse ; j= ! . 96 Capitolo 3. Logica enunciativa Valgono le equivalenze ;; j= sse M(;) \ M() M() sse M(;) ;M() [ M() sse M(;) M(: _ ) sse ; j= ! , dove il passaggio dalla prima alla seconda riga e giusticato dal punto 6) del teorema 2.4.5. Il teorema seguente mostra che la verica della correttezza di un'inferenza con un numero nito di premesse si riduce a controllare se una certa formula sia una tautologia. E quindi fondamentale saper riconoscere le tautologie, perche in esse sono condensate tutte le forme di inferenze corrette. (Nel paragrafo 3.11 dimostreremo che ogni inferenza corretta da un insieme innito di premesse e riducibile a un'inferenza corretta da un sottoinsieme nito di tali premesse.) Teorema 3.6.2 Le asserzioni seguenti sono equivalenti: 1. 0 ; : : : ; n;1 j= , 2. 0 ^ : : : ^ n;1 j= , 3. j= 0 ^ : : : ^ n;1 ! , 4. j= 0 ! (1 ! : : :(n;1 ! ) : : :). La 1) equivale alla 2) perche M(f0; : : : ; n;1g) = M(0 ) \ : : : \ M(n;1). La 2) equivale alla 3) per il teorema precedente: basta porre ; = ;. Per vericare che la 3) equivale alla 4) basta dimostrare che le due formule sono equivalenti e a tale scopo basta vericare che ;(X0 \ : : : \ Xn;1) [ Y = ;X0 [ (;X1 [ : : : [ (;Xn;1 [ Y ) : : :), cio si ottiene dalla legge di De Morgan. Si osservi che ; j= sse e una tautologia. Infatti le premesse i , quando sono presenti, restringono le valutazioni che devono rendere vera a quelle che rendono vere tutte le i: se l'insieme delle premesse e vuoto, non si opera alcuna limitazione e ogni valutazione deve rendere vera , che quindi risulta essere Allo stesso risultato arriviamo osservando che M(;) = T una tautologia. fM() : 2 ;g = T ; = 2! . Proponiamo di analizzare il concetto intuitivo di inferenza corretta in questi termini: se rappresentiamo con 0; : : : ; n;1 le premesse di un'inferenza e con la conclusione, diremo che l'inferenza e corretta se la conclusione e conseguenza logica delle premesse. Vediamo ora all'opera questa analisi in un caso concreto. Consideriamo i seguenti quattro enunciati: Antonio ama Maria o Antonio ama Sara Se Antonio ama Maria allora Antonio tradisce Sara Se Antonio ama Sara allora Antonio tradisce Maria Antonio tradisce Sara o Antonio tradisce Maria p0 _ p1 p0 ! p2 p1 ! p3 p2 _ p3 3.6. Conseguenza logica 97 Possiamo rappresentare il legame inferenziale che sussiste tra l'insieme dei primi tre enunciati, le premesse, e il quarto, la conclusione, con p0 _ p1 ; p0 ! p2 ; p1 ! p3 j= p2 _ p3 : Per vericare l'esistenza di questo legame inferenziale possiamo controllare se nell'algebra di Boole valga (x _ y) ^ (:x _ z) ^ (:y _ w) z _ w; oppure possiamo applicare il teorema precedente e vericare se (p0 _ p1 ) ^ (p0 ! p2 ) ^ (p1 ! p3 ) ! (p2 _ p3 ) sia una tautologia. Lasciamo al lettore queste veriche che in ogni caso confermano la correttezza dell'inferenza. (Si veda l'esercizio 3.6.1.) Quello che ci preme sottolineare e la natura logica del legame individuato tra premesse e conclusioni. L'inferenza risulta corretta indipendentemente dal fatto che si tratti di Antonio, di Maria, di amore e tradimento. Non solo questi contenuti sono indierenti, ma la stessa verita o falsita delle asserzioni coinvolte e irrilevante per la correttezza dell'inferenza. Infatti un'inferenza corretta stabilisce un legame tra premesse e conclusione che e indipendente da come va il mondo e indipendente dal signicato relativo a una particolare valutazione delle formule coinvolte. Il legame tra premesse e conclusione deve essere di natura logica e quindi deve sussistere in ogni possibile circostanza, deve essere compatibile con ogni signicato relativo. Le formule del linguaggio formale sono particolarmente adatte ad esprimere cio che rimane dopo questo processo di astrazione, perche in esse non c'e piu traccia dei contenuti specici degli enunciati del linguaggio naturale. Una volta rappresentata nel linguaggio formale, l'inferenza perde la sua specicita e diventa uno schema d'inferenza, poiche le variabili enunciative che vi compaiono possono essere sostituite con enunciati qualsiasi del linguaggio naturale, ottenendo in ogni caso un'inferenza corretta. Passiamo ora a studiare la relazione di conseguenza logica all'interno di un discorso piu generale riguardante il rapporto tra linguaggio e realta. Tale rapporto puo presentarsi in due modi opposti e complementari. Se lo assumiamo nella direzione dal linguaggio verso la realta, utilizziamo le formule del linguaggio per imporre condizioni a cui la realta deve conformarsi, per caratterizzare un certo ambito di realta. Agiamo in questo modo quando ssiamo un insieme di leggi a cui deve sottostare un insieme di oggetti, per congurare una situazione che potremmo chiamare un \modello" di tali leggi. Se lo assumiamo nella direzione opposta, immaginiamo che vi sia anzitutto una realta che vogliamo descrivere nei termini delle formule del nostro linguaggio e quindi consideriamo come questa realta si rietta in tali formule. Quindi in un caso le formule hanno funzione normativa nei confronti della realta, nell'altro sono utilizzate per rispecchiare una realta che si e gia costituita in modo indipendente: in un caso il modello e qualcosa da sintetizzare a partire dal linguaggio di cui si dispone, nell'altro il modello e all'origine di una serie di asserzioni formulate entro il linguaggio. Lo 98 Capitolo 3. Logica enunciativa studio di questo rapporto e uno degli aspetti fondamentali della logica e si puo presentare a diversi livelli di complessita, secondo il tipo di linguaggio adottato. In questo paragrafo esamineremo il caso del linguaggio enunciativo L e intenderemo come \realta descrivibile da L" una qualsiasi valutazione : P ! 2 o un insieme di tali valutazioni. Consideriamo dapprima il rapporto nella direzione dalla realta verso il linguaggio denendo una funzione T h : P( 2! ) ! P(Fm) tale che, per ogni X 2! , Th(X) = f : j= , per ogni 2 X g: Diremo che Th(X) e la teoria di X, una descrizione che si attaglia ad ogni particolare 2 X, anzi, la piu esauriente di tali descrizioni. In particolare, quando X = f g scriveremo Th() per indicare l'insieme delle formule vere in . E facile vericare che Th e una funzione antitona, ossia che X Y implica Th(Y ) Th(X): se si dilata l'insieme delle valutazioni, l'insieme delle realta prese in esame, si contrae l'insieme delle verita comuni ad ogni valutazione, la teoria corrispondente alle realta considerate. Nei casi limite, quando X e ;, Th(X) e F m, la teoria banale che contiene ogni formula, e quando X e 2! , Th(X) e l'insieme delle tautologie, la teoria minima. Per quanto riguarda il rapporto nell'altra direzione, dal linguaggio verso la realta, disponiamo gia della funzione M : P (F m) ! P ( 2! ) tale che, per ogni ; F m, M(;) = f : j= , per ogni 2 ;g: Diremo che M(;) e la classe assiomatica di ;, l'insieme delle realta descritte da ;. Quando ; contiene un unico enunciato parleremo di classe elementare . Si verica facilmente che M e una funzione antitona, ossia che ; implica M() M(;): se si dilata l'insieme delle realta, si contrae l'insieme delle verita condivise da tali realta. E facile stabilire una condizione necessaria e suciente perche sia M(;) = 2! : basta richiedere che ; sia ; o un insieme di tautologie. Piu dicile e stabilire un'analoga condizione per M(;) = ;. Potremo ottenerne una dal teorema di completezza, per ora possiamo accontentarci di una condizione suciente: esiste una formula tale che , : 2 ;. Vi sono dunque formule che non hanno alcun eetto di caratterizzazione sulla realta: le tautologie e le contraddizioni. In secondo luogo osserviamo che nessuna formula puo caratterizzare un unico modello, anzi, per ogni formula , se l'insieme dei modelli di non e vuoto, allora e innito. Cio accade perche le variabili occorrenti in una formula sono sempre in numero nito e per il teorema 3.4.2 tutte le valutazioni coincidenti sulle variabili di sono equivalenti rispetto alla soddisfacibilita di . Un discorso analogo vale anche per gli insiemi niti. Infatti e chiaro che e modello dell'insieme f0; : : : ; n;1g sse e modello della formula 0 ^ : : : ^ n;1, quindi la capacita di caratterizzare di un insieme nito equivale a quella di una singola formula. Con un ; innito e evidentemente possibile forzare la scelta di un'unica realta. Ad esempio, ; = P caratterizza il modello costituito dalla funzione costante 1. E facile stabilire una condizione 3.6. Conseguenza logica 99 su ; che garantisca l'unicita della realta descritta. Diremo che un insieme ; di formule e completo se, per ogni formula , 2 ; o : 2 ;. Un esempio di insieme completo e T h(), per ogni . Si verica facilmente che se ; e completo allora, se ha un modello, ne ha uno solo. Supponiamo infatti che ; abbia due modelli e 0 . Poiche ; e completo, per ogni variabile avremo pi 2 ; o :pi 2 ;. Se pi 2 ; avremo (i) = 1 = 0 (i) e se :pi 2 ; avremo (i) = 0 = 0 (i), quindi = 0. Si osservi che un insieme completo puo non avere modelli, ad esempio quando contiene sia pi che :pi.. Le funzioni Th e M mettono dunque in relazione la realta con il linguaggio e il linguaggio con la realta. Se consideriamo le funzioni composte M Th e Th M otteniamo rispettivamente una funzione da P ( 2! ) in se stesso e da P (Fm) in se stesso. Innanzitutto osserviamo che, essendo T h e M antitone, le funzioni composte M Th e Th M sono monotone. Inoltre M Th e Th M sono evidentemente progressive, ossia X M(Th(X)) e ; T h(M(;)). Il teorema seguente dimostra che ogni M(;) e un punto sso della funzione M Th e ogni Th(X) e un punto sso della funzione T h M. Teorema 3.6.3 Per ogni ; Fm e per ogni X ! 2, 1. M(Th(M(;))) = M(;), 2. Th(M(Th(X))) = Th(X). Dimostriamo la 1). Poiche M T h e progressiva, M(;) M(Th(M(;))). Poiche Th M e progressiva, ; Th(M(;)) e quindi M(Th(M(;))) M(;) poiche M e antitona. La 2) si dimostra in modo analogo. Se ora restringiamo P(2! ) all'insieme A = fM(;) : ; Fmg contenente solo le classi di modelli che sono classi assiomatiche, e parallelamente restringiamo P(Fm) all'insieme B = fTh(X) : X 2! g, contenente solo gli insiemi di formule che sono teorie di qualche classe di modelli, si vede facilmente che Th e M sono l'una inversa dell'altra e che tali funzioni stabiliscono una biiezione tra A e B. Vediamo ora come si inserisce in questo discorso la relazione di conseguenza logica. Innanzitutto deniamo una funzione Cn : P(F m) ! P(F m) ponendo, per ogni ; Fm, Cn(;) = f : ; j= g. Possiamo considerare Cn(;) come l'insieme di tutte le conoscenze che sono ricavabili dalle (o riconducibili alle) formule ;, l'esplicitazione di tutto cio che e implicito in ;. E possibile denire Cn nei termini di Th e M. Teorema 3.6.4 Cn(;) = Th(M(;)): Se 2 Cn(;) allora M(;) M() e quindi Th(M()) Th(M(;)), essendo T h antitona. Ma 2 Th(M()) e quindi 2 Th(M(;)). Supponiamo ora 2 Th(M(;)), allora fg T h(M(;)) e quindi, poiche M e antitona vale M(T h(M(;))) M(). Per il teorema precedente M(T h(M(;))) = M(;) e quindi M(;) M() da cui si ricava ; j= . 100 Capitolo 3. Logica enunciativa Da questo teorema e dalle proprieta di T h M messe in luce in precedenza si ricava immediatamente che Cn e una funzione progressiva e monotona. Cio collima con la nozione intuitiva di conseguenza logica, infatti aumentando l'insieme delle premesse l'insieme delle conseguenze non puo diminuire e ogni premessa e sempre ottenibile come conseguenza. Inoltre risulta chiaro che e inutile iterare Cn nella speranza di ottenere nuove conseguenze, perche Cn(Cn(;)) = Cn(;), ossia ogni insieme di formule Cn(;) e un punto sso di Cn: infatti dal teorema precedente e dal teorema 3.6.3 si ricava immediatamente Th(M(Th(M(;)))) = T h(M(;)). Possiamo concepire una teoria come un sistema di conoscenze che contiene tutto cio che e ricavabile con strumenti puramente logici da un insieme di enunciati considerati come assiomi della teoria. Da questo punto di vista una teoria non e caratterizzata dai suoi assiomi, di fatto la stessa teoria si puo ottenere da dierenti insiemi di assiomi, ma dal costituire un insieme di conoscenze che ha raggiunto una condizione di equilibrio, che non ammette crescite ulteriori. Cio non signica che una teoria non possa essere estesa con ulteriori conoscenze, ma che queste estensioni, ove possibili, non sono piu un fatto logico. Diremo allora che un insieme di formule T e una teoria se e chiuso rispetto alla conseguenza logica, ossia per ogni formula , se T j= , allora 2 T. In altri termini, T e una teoria se e un punto sso di Cn, ovvero se T = Cn(T). L'insieme Cn(;) e sempre una teoria, per ogni ;, dato che e un punto sso di Cn. La piu piccola delle teorie e Cn(;), l'insieme delle tautologie, e la piu grande Cn(Fm) = Fm, la teoria banale che contiene ogni possibile asserzione. Si osservi che quando per qualche formula vale sia 2 Cn(;) sia : 2 Cn(;), allora Cn(;) = Fm. Infatti se accade che ; j= e ; j= :, allora ; non ha modelli. (Se vi fosse un modello di ;, dovrebbe essere sia modello di sia modello di :, ma cio e impossibile.) Se ; non ha modelli, allora e banalmente vero che ; j= , per ogni 2 F m. Non bisogna confondere questa nozione di teoria come punto sso di Cn, con Th(X), la teoria di X, l'insieme degli enunciati veri in ogni valutazione di X. Tuttavia i due concetti di teoria sono strettamente legati. Da un lato, se ; e una teoria, ossia Cn(;) = ;, allora esiste un insieme di valutazioni X tale che ; = Th(X). Infatti, per il teorema precedente, basta porre X = M(;). Dall'altro, la teoria di X e un punto sso di Cn e quindi e una teoria. Infatti per il teorema precedente e il teorema 3.6.3, Cn(T h(X)) = Th(M(Th(X))) = Th(X): Se T e una teoria possiamo porci il problema dell'individuazione di un insieme di formule ; che generi T mediante conseguenze logiche, ossia tale che T = Cn(;): diremo che un ; siatto e un insieme di assiomi per T, ovvero assiomatizza T . E chiaro che si puo sempre assiomatizzare in modo banale una teoria T adottando T stessa come insieme di assiomi, poiche vale Cn(T) = T. Diremo che T e nitamente assiomatizzabile se e assiomatizzata da un ; nito. A questo proposito osserviamo che, se T e assiomatizzabile da ; = f0; : : : ; n;1g, allora T e assiomatizzabile dalla singola formula 0 ^ : : : ^ n;1 : infatti ; e 3.6. Conseguenza logica 101 0 ^ : : : ^ n;1 hanno le stesse conseguenze. Questo discorso non e estendibile agli insiemi inniti di assiomi, perche il nostro linguaggio non ammette formule innite. Esercizio 3.6.1 Si dimostri che nell'algebra di Boole vale: 1. (x _ y) ^ (:x _ z) z _ y; 2. (z _ y) ^ (:y _ w) z _ w; 3. ((x _ y) ^ (:x _ z)) ^ (:y _ w) (z _ y) ^ (:y _ w) z _ w: Si concluda che p0 _ p1 ; p0 ! p2 ; p1 ! p3 j= p2 _ p3 . Esercizio 3.6.2 Si dimostri che 1. ^ : j= , 2. j= _ : , 3. se _ : j= allora e una tautologia e se j= ^ : allora e una contraddizione. Esercizio 3.6.3 Vericare se la conseguenza logica sussiste: 1. p0 ! p1 j= p0 ^ p1 2. p0 ! (p1 ! p2 ); p0 ! p1 j= p0 ! p2 3. p0 ! :p1; :p2; p1 ! (p0 _ p2 ) j= :p1 4. (p0 ! p1 ) _ (p0 ^ :p1) j= p0 5. p0 _ p1; p2 $ p3; :p0 ^ p3 j= :p3 _ :p1 6. :p0 ^ p1 ; p0 _ :p2; p3 ! :p1 j= p2 ^ :p3 . Esercizio 3.6.4 Tradurre le seguenti inferenze nel linguaggio formale individuando un insieme 0; : : : ; n;1 di premesse e una conclusione . Vericare se l'inferenza e corretta. 1. Se c'e una perdita nel radiatore, allora l'olio si surriscalda e la pressione dell'olio si abbassa. Se la pressione dell'olio si abbassa i cuscinetti possono essere danneggiati. Quindi se c'e una perdita nel radiatore i cuscinetti possono essere danneggiati. 2. Se fossi colpevole sarei stato a New York al momento del delitto. Se cio fosse vero, sul mio passaporto dovrebbe esserci un visto d'ingresso negli Stati Uniti. Ma non e cos, quindi non sono colpevole.