Introduzione alla logica proposizionale Francesco Paoli Dispense per gli studenti March 6, 2013 1 Linguaggi proposizionali Nel presente modulo studieremo la logica proposizionale classica. In generale, quando si indaga una logica proposizionale occorre innanzitutto speci…care un linguaggio nel quale la logica viene formulata. Una volta …ssato il linguaggio, la logica può essere presentata mediante un calcolo (o più calcoli) che consente di determinare quali sono le inferenze logicamente accettabili. In…ne, tale calcolo può venire interpretato per mezzo di una semantica. Nei prossimi paragra… vedremo meglio di che cosa si tratta; per il momento limitiamoci a …ssare la struttura generale di un linguaggio proposizionale. Un linguaggio proposizionale $ consta di un alfabeto e di un insieme di formule. L’alfabeto è un insieme di simboli suddiviso nelle seguenti sottoclassi: Simboli descrittivi : un insieme numerabile di variabili fp1 ; p2 ; :::g. Useremo le lettere p; q; ::: come metavariabili per generiche variabili. Simboli logici : per ogni k 0, un insieme …nito o vuoto (vuoto per ogni numero naturale k tranne un numero …nito di essi) di connettivi k-ari ( f1k ; f2k ; :::; fnkk ). Simboli ausiliari : le parentesi di apertura e di chiusura: ( e ). L’insieme delle formule di $ è de…nito induttivamente nel modo seguente (le lettere ; ; ::: sono usate come metavariabili per generiche formule): ogni variabile pi è una formula; se 1 ; :::; k sono formule e fik è un connettivo k-ario, allora fik ( è una formula; nient’altro è una formula. L’insieme delle formule di $ sarà denotato con FOR($). 1 1 ; :::; k) 2 Il calcolo HK per la logica classica In questo paragrafo de…niremo un linguaggio proposizionale adeguato per formulare la logica classica e la presenteremo mediante un calcolo assiomatico HK del tipo usualmente de…nito alla Hilbert. In…ne, dimostreremo un appropriato teorema di adeguatezza di HK rispetto alla semantica delle tavole di verità: dimostreremo cioè che i teoremi di HK sono tutte e sole le tautologie. Questo risultato sarà ottenuto come corollario di un teorema più forte, in base al quale si fa vedere che le nozioni di derivabilità in HK e di conseguenza logica (de…nite sotto) coincidono. 2.1 Sintassi logica Vogliamo adesso costruire un calcolo logico, che chiameremo HK, il quale generi tutte e sole le tautologie. Un calcolo proposizionale alla Hilbert consta di due componenti: 1) un linguaggio proposizionale e 2) un insieme di postulati. Il linguaggio proposizionale di HK, che chiamiamo $1 , è così strutturato: Simboli descrittivi : un insieme numerabile di variabili (fp1 ; p2 ; :::g). Simboli logici : il connettivo unario : (negazione), i connettivi binari ^ (congiunzione), _ (disgiunzione), ! (implicazione). Simboli ausiliari : le parentesi di apertura e di chiusura: ( e ). L’insieme delle formule di $1 è de…nito induttivamente nel modo seguente: ogni variabile pi è una formula; se ; sono formule, allora : ; ^ ; _ ; ! sono formule; nient’altro è una formula. Attenzione! Seguiremo qui la convenzione in base alla quale congiunzione e disgiunzione legano più fortemente dell’implicazione. La formula ^ ! , quindi, dovrà essere interpretata come ( ^ ) ! e non come ^ ( ! ). I postulati di HK si dividono a loro volta in 1) assiomi e 2) regole di inferenza. Gli assiomi sono formule de…nite come tali. In HK (e, generalmente, in ogni calcolo alla Hilbert) gli assiomi vengono speci…cati schematicamente: dicendo ad esempio che :: ! è un assioma, intendiamo che ogni formula ottenuta sostituendo alla metavariabile una qualsiasi formula in FOR($1 ) è un assioma. Le regole di inferenza sono insiemi di n + 1 formule f 1 ; :::; n ; n+1 g, dove 1 ; :::; n sono dette premesse e n+1 conclusione. La notazione standard per una regola di inferenza è 1 ; :::; n n+1 ere e la sua interpretazione intuitiva è: dalle assunzioni 1 ; :::; n si può concludn+1 . Anche le regole di inferenza vengono presentate schematicamente. 2 Nella tabella seguente vengono presentati i postulati di HK. A1. A2. A3. A5. A6. A8. A9. A11. !( ! ) ( ! ( ! )) ! (( ! ) ! ( ! )) ^ ! A4. ( ! ) ! (( ! ) ! ( ! ! ^ ! ! _ ^ )) _ A7. ( ! ) ! (( ! ) ! ( _ ! )) ( ! ) ! (( ! : ) ! : ) A10. :: ! ! (: ! ) R1. ! I prossimi due concetti di fondamentale importanza che vogliamo introdurre sono quelli di dimostrazione e di teorema. Una dimostrazione in HK è una successione …nita di formule 1 ; :::; n appartenenti a FOR($1 ) tale che, per ogni i n, i è un assioma di HK oppure è ottenuta da formule precedenti nella successione applicando l’(unica) regola di inferenza di HK. L’espressione " i è ottenuta da formule precedenti nella successione applicando l’(unica) regola di inferenza di HK" signi…ca che esistono j ; k , con j; k < i, tali che k = j ! i e che pertanto i può essere ottenuta come conclusione della regola d’inferenza R1 dalle premesse j ; k : j j ! i i Un teorema (o formula dimostrabile) di HK è la formula conclusiva di una qualche dimostrazione in HK. Per dire che è un teorema di HK scriveremo spesso `HK . Si noti che in particolare gli assiomi sono teoremi, in quanto ciascun assioma è la formula conclusiva della dimostrazione (banale) che consiste in lui stesso e basta. Ecco un esempio di dimostrazione in HK. Facciamo vedere come dimostrare il principio di identità ! . 1 2 3 4 5 ( ! (( ! ) ! )) ! (( ! ( ! )) ! ( ! )) ! (( ! ) ! ) ( ! ( ! )) ! ( ! ) !( ! ) ! A2 A1 R1, 1, 2 A1 R1, 3, 4 Una volta che un teorema è stato dimostrato, si possono accorciare le dimostrazioni giusti…cando alcuni passaggi mediante un riferimento al teorema appena dimostrato. Facciamo un esempio. Chiamiamo T1 il principio di identità ! appena dimostrato. Dimostriamo adesso il teorema T2 (legge di assorbimento o di contrazione): ( ! ( ! )) ! ( ! ) . 3 1 2 3 4 ( ! ( ! )) ! (( ! ! ( ! ) ! (( ! ( ! ( ! ( ! )) ! ( ! (( ! ( ! ! ((( ! ( ! )) ! ( (( ! ( ! )) ! ( ! ( ! ( ! )) ! ( ! 5 6 7 ) ! ( ! )) )) ! ( ! )) ) )) ! (( ! ) ! ( ! ))) ! )) ! (( ! ( ! )) ! ( ! ))) )) ! (( ! ( ! )) ! ( ! )) ) A2 T1 A1 R1, 2, 3 A2 R1, 1, 5 R1, 4, 6 In senso stretto, quella appena riportata non è neanche una dimostrazione: la formula al passo 2 non è né un assioma, né ottenuta da formule precedenti mediante R1. Si tratta però di un teorema: quindi la successione di formule precedente può essere trasformata in una dimostrazione semplicemente inserendo la dimostrazione di T1 dopo il passo 1. Una derivazione della formula in HK dall’insieme di formule (dette assunzioni ) è una successione …nita di formule 1 ; :::; n appartenenti a FOR($1 ) tale che, per ogni i n, i è un assioma di HK oppure è un elemento di oppure è ottenuta da formule precedenti nella successione applicando l’(unica) regola di inferenza di HK. Quindi, l’unica di¤erenza tra una dimostrazione e una derivazione è che i passi di quest’ultima possono essere giusti…cati anche con riferimento ad un’assunzione in . Le derivazioni intendono insomma formalizzare il ragionamento ex hypothesi. Scriviamo `HK per indicare che esiste una derivazione di in HK dall’insieme di assunzioni , o più brevemente: è derivabile in HK da . Una dimostrazione può essere vista anche come derivazione dall’insieme vuoto di assunzioni. Esempio: facciamo vedere che è derivabile in HK da ! ; ! ; . 1 2 3 4 5 ! ! ass. ass. ass. R1, 1, 3 R1, 2, 4 Enunciamo senza dimostrarlo il seguente Theorem 1 (Teorema di deduzione). [f g `HK se e solo se `HK ! . Lemma 2 In HK si dimostrano: (i) ! ( ! ^ ) 2.2 Semantica logica Vogliamo adesso usare le tavole di verità per interpretare le formule del nostro calcolo logico. Abbiamo visto che ciascuna riga della tavola di verità per la formula ri‡ette una possibile assegnazione di valori di verità agli enunciati atomici che compongono . Vogliamo adesso compiutamente formalizzare quest’idea di "possibile assegnazione di valori di verità agli enunciati atomici che compongono una formula". 4 Una valutazione (del linguaggio $1 ) è una funzione v da FOR($1 ) nell’insieme f0; 1g che obbedisce alle seguenti clausole: v (: ) = 1 v( ^ ) = min (v ( ) ; v ( )) = max (v ( ) ; v ( )) v( ! ) = max (1 v( _ ) v( ) v ( ) ; v ( )) . Diciamo che è conseguenza logica in HK dell’insieme di formule (e scriviamo ) quando per ogni valutazione v, se v ( ) = 1 per ogni 2 , HK allora anche v ( ) = 1. Equivalentemente: è conseguenza logica in HK di quando non esiste nessuna valutazione v tale che v ( ) = 1 per ogni 2 e al contempo v ( ) = 0. Intuitivamente, è conseguenza logica di se non può mai essere falsa quando tutte le formule in sono vere (cfr. la de…nizione di argomento valido!!). Si noti che, se è una tautologia, allora è impossibile trovare una valutazione v tale che v ( ) = 0; di conseguenza una tautologia può essere vista come una conseguenza logica dell’insieme di formule vuoto. La notazione HK , pertanto, è un modo equivalente di esprimere il fatto che è una tautologia. Ancora, si osservi che in base alla de…nizione una tautologia è conseguenza logica di un qualsiasi insieme di formule. 3 Il teorema di adeguatezza Vogliamo ora dimostrare che per quanto riguarda HK il concetto sintattico di derivabilità e quello semantico di conseguenza logica coincidono: in altre parole, vogliamo dimostrare che `HK se e solo se HK . Se riusciremo nell’intento, in particolare avremo dimostrato che i teoremi di HK coincidono con le tautologie, e che quindi HK è davvero un calcolo che genera in maniera e¤ettiva le tautologie che avevamo introdotto mediante le tavole di verità. Tale teorema di adeguatezza per HK si divide in due parti: Teorema di correttezza per HK: se `HK allora HK . Teorema di completezza per HK: se allora `HK . HK Theorem 3 (Teorema di correttezza per HK): se `HK allora HK . Proof. La dimostrazione si svolge per induzione sulla lunghezza n della derivazione di da in HK. Base: n = 1. Se la derivazione di da in HK consiste di un unico passo, allora i casi sono due: 1) 2 ; oppure 2) è un assioma di HK. Caso 1). Supponiamo che v ( ) = 1 per ogni 2 ; dunque vale in particolare v ( ) = 1 e quindi . Caso 2): basta controllare che ogni assioma di HK è una HK tautologia, poiché, come già osservato, se è una tautologia allora per ogni vale HK . Questa operazione, come sappiamo, si può fare con le tavole di verità (esercizio). Passo. Supponiamo che l’enunciato del teorema sia vero per n < m (ipotesi d’induzione) e dimostriamo che è vera per n = m. Sia dunque l’m-esima 5 formula di una dimostrazione D. Se 2 , oppure è un assioma di HK, ci si riconduce al caso precedente. Se invece è ottenuta da formule precedenti ; ! tramite R1, allora si consideri la dimostrazione D0 , di lunghezza m 1; ottenuta eliminando da D. Tale dimostrazione contiene sia che ! , ma poiché ha lunghezza < m vi posso applicare l’ipotesi di induzione: si ha dunque e ! . Sia adesso v una generica valutazione t.c. v ( ) = 1 HK HK per ogni 2 ; ne segue che v ( ) = v ( ! ) = 1. Ma allora v ( ) = 1 e quindi HK . Il teorema di completezza è più arduo da dimostrare e richiede alcune de…nizioni aggiuntive ed una serie di lemmi. Diciamo innanzitutto che FOR($1 ) è un insieme consistente se e solo se esiste almeno una formula 2 FOR($1 ) tale che 0HK . In altri termini, è un insieme consistente se da esso non si può derivare tutto. Diciamo anche che è inconsistente se non è consistente. Dimostriamo adesso che è consistente se da esso non si può derivare una contraddizione. Lemma 4 `HK e è un insieme consistente se e solo se per nessuna formula `HK : . , Proof. Da sinistra a destra. Dimostriamo, per contrapposizione, che se esiste una formula tale che `HK e `HK : , allora è inconsistente. Sia dunque `HK e `HK : . Per A10, `HK ! (: ! ), dove è una qualsiasi formula. Applicando due volte R1, `HK , e quindi è inconsistente. Da destra a sinistra. Dimostriamo, per contrapposizione, che se è inconsistente, allora esiste una formula tale che `HK e `HK : . Ma questo è banale: se da si deriva tutto, allora in particolare da si possono derivare e: . Da qui in avanti applicheremo il Lemma 4 senza ulteriore menzione, ricorrendo alla de…nizione originaria di consistenza o alla sua caratterizzazione equivalente a seconda della convenienza. Lemma 5 Se c’è una valutazione v tale che v ( ) = 1 per ogni è consistente. 2 , allora Proof. Ancora una volta, dimostriamo il lemma per contrapposizione: se è inconsistente, allora non c’è nessuna valutazione v tale che v ( ) = 1 per ogni 2 . Supponiamo quindi che per qualche formula , `HK e `HK : . Per il Teorema 3, e HK HK : . Se esistesse una valutazione v tale che v ( ) = 1 per ogni 2 , per de…nizione di conseguenza logica avremmo v ( ) = v (: ) = 1, il che è impossibile, perché se v ( ) = 1 allora v (: ) = 0 e viceversa. Lemma 6 i) Se [ f: g è inconsistente, allora inconsistente, allora `HK : . `HK ; ii) se [f g è Proof. i) Supponiamo che [f: g `HK e [f: g `HK : . Per il Teorema 1, `HK : ! e `HK : ! : . Tuttavia, per A9 `HK (: ! ) ! 6 ((: ! : ) ! :: ). Applicando due volte R1, `HK :: . Ancora, per A11 `HK :: ! . Usando nuovamente R1, `HK . (ii) Simile. La prossima nozione è fondamentale per la dimostrazione di completezza. Un insieme FOR($1 ) è un insieme consistente massimale se e solo se 1) è consistente, 2) ogni che include propriamente è inconsistente. Intuitivamente, un insieme di formule è consistente massimale se "non ci posso aggiungere niente" senza farlo diventare inconsistente. Il prossimo risultato, noto come Lemma di Lindenbaum, ci dice che ogni insieme consistente è incluso in un insieme consistente massimale. Lemma 7 (Lemma di Lindenbaum). Se FOR($1 ) è un insieme consistente, allora esiste consistente massimale tale che . Proof. Consideriamo un’enumerazione 1 ; 2 ; ::: di FOR($1 ) (esiste perché FOR($1 ) è un insieme numerabile!). De…niamo induttivamente una successione di insiemi nel modo seguente: 1 = n+1 = = n [ [ f n g se altrimenti. n, n [f ng è consistente; n. n 0 Si osservi che, per costruzione, ogni n è consistente e vale anche che . Dimostriamo ora che è consistente massimale. Innanzitutto, supponiamo per assurdo che sia inconsistente. Allora, per qualche formula , si ha che `HK e `HK : . Ma le derivazioni sono successioni …nite di formule: quindi le nostre ipotetiche derivazioni di e : , nel loro complesso, avranno utilizzato come assunzioni solo un sottoinsieme …nito f 1 ; :::; m g di . Ora, ciascun i sarà stato introdotto in un qualche indice della costruzione precedente. Tra tutti questi, prendiamo l’indice più grande e chiamiamolo k. Ma allora k `HK e che : . k `HK : , poiché in k ho già tutto ciò che mi serve per derivare sia Dunque, k sarebbe inconsistente: contraddizione. Quindi l’ipotesi per assurdo è falsa e è consistente. 0 In…ne, ci rimane da dimostrare che se , allora 0 è inconsistente. 0 0 Infatti, se , allora esiste 2 tale che 2 = . Riandiamo alla nostra enumerazione di FOR($1 ): per qualche i, avremo che = i . Poiché 2 = , signi…ca che i [ f g è inconsistente. Ma allora a maggior ragione sarà 0 inconsistente 0 , perché i [ f g . Lemma 8 (Lemma di chiusura deduttiva). Se consistente massimale e se `HK , allora 2 . FOR($1 ) è un insieme Proof. Infatti, se per assurdo `HK ma 2 = , allora [f g è inconsistente, poiché è consistente massimale. Per il Lemma 6, allora, `HK : , e quindi è inconsistente: contraddizione. 7 Lemma 9 (Lemma delle clausole omofoniche). Se consistente massimale, allora: 1. : 2 se e solo se 2 = ; 2. ^ 2 se e solo se 2 e 2 ; 3. _ 2 se e solo se 2 o 2 ; 4. ! 2 FOR($1 ) è un insieme se e solo se (se 2 allora 2 ). Proof. (1) Sappiamo che ; : non possono appartenere entrambi a . Consideriamo l’insieme [ f g. Se è inconsistente, per il Lemma 6 `HK : e quindi, per il Lemma 8, : 2 . Se invece [ f g è consistente, allora 2 , perché è consistente massimale e non può essere esteso in modo consistente. (2) Supponiamo che ^ 2 . Per A3, A4, `HK ^ ! e `HK ^ ! . Quindi, usando R1, `HK e `HK . Da ciò concludiamo 2 e 2 per il Lemma 8. Viceversa, supponiamo che 2 e 2 . Per il Lemma 2(i), `HK ! ( ! ^ ). Quindi, usando R1 due volte, `HK ^ . Per il Lemma 8, quindi, ^ 2 . (3) Simile (esercizio). (4) Supponiamo ! 2 e 2 . Quindi, per R1, `HK e abbiamo ancora una volta la conclusione desiderata, cioè 2 , per il Lemma 8. Viceversa, supponiamo che se 2 allora 2 . Ciò signi…ca che o 2 = oppure 2 . Nel primo caso, per (1), : 2 . ma in virtù di A10, `HK : ! ( ! ). Quindi `HK ! e per il Lemma 8 ! 2 . Nel secondo caso, in virtù di A1 `HK ! ( ! ), da cui ancora una volta `HK ! e per il Lemma 8 ! 2 . Dimostriamo adesso il converso del Lemma 5. Lemma 10 (Lemma della valutazione canonica).Se una valutazione v tale che v ( ) = 1 per ogni 2 . è consistente, allora c’è Proof. Sia consistente. Per il Lemma 7, è contenuto in un massimale. De…niamo adesso, per ogni variabile proposizionale p, v (p) = consistente 1 se p 2 , 0 altrimenti. Tale funzione v determina automaticamente una valutazione di $1 , poiché la possiamo estendere a tutto FOR($1 ) nel modo consueto. Dimostriamo adesso che per ogni 2 FOR($1 ), v ( ) = 1 se e solo se 2 . Questo verrà dimostrato per induzione sul numero n dei connettivi logici presenti in . Base: n = 0. Allora è una variabile proposizionale e sappiamo già che v ( ) = 1 se e solo se 2 . Passo. Supponiamo che l’enunciato del teorema sia vero per n < m, e prendiamo con m connettivi logici. Andiamo a vedere qual è il suo connettivo principale. Se si tratta di una negazione, allora ha la forma : , e contiene 8 m 1 connettivi. Quindi posso applicare l’ipotesi di induzione, cioè v ( ) = 1 se e solo se 2 . Ma per il Lemma 9(1), 2 se e solo se : 2 = , quindi v ( ) = 1 se e solo se : 2 = . Ma allora v ( ) = v (: ) = 1 , v ( ) = 0 , : = 2 . Se invece il connettivo principale è una congiunzione o una disgiunzione o un’implicazione, si ragiona nello stesso modo sfruttando le altre clausole del Lemma 9. Quindi, in particolare, v è tale che v ( ) = 1 per ogni 2 . La valutazione di cui al lemma precedente sarà chiamata la valutazione canonica per . Siamo adesso …nalmente pronti a dimostrare il teorema di completezza. Theorem 11 (Teorema di completezza per HK): se HK allora `HK . Proof. Ragioniamo ancora una volta per contrapposizione: dimostriamo cioè che, se 0HK , allora 2HK . Sia dunque 0HK . Allora [ f: g è consistente. Consideriamo la valutazione canonica v per [f: g: per il Lemma 10, v ( ) = 1 per ogni 2 [ f: g. In altri termini, si ha che v ( ) = 1 per ogni 2 e v (: ) = 1, cioè v ( ) = 0. Ma allora 2HK . Come conseguenza di questi teoremi, abbiamo quindi: Teorema di adeguatezza per HK: `HK se e solo se HK . I teoremi di HK coincidono con le tautologie: `HK se e solo se HK . 9