Introduzione alla LOGICA MATEMATICA Corso di Matematica Discreta. Corso di laurea in Informatica. Prof. Luigi Borzacchini III. La logica delle proposizioni. Sintassi.
Dalla semantica alla sintassi Le tavole di verità sono una procedura semantica, cioè descrivono le correlazioni ‘statiche’ dei valori di verità tra proposizioni complesse e i loro componenti atomici. Ma la matematica e in generale l’intelligenza umana ha sempre utilizzato tecniche di ragionamento ‘dinamico’ per raggiungere la verità: l’esempio più famoso è la dimostrazione matematica. Pensate ad una dimostrazione di geometria: le ipotesi, una serie di frasi collegate fra di loro come anelli di una catena, fino alla tesi finale.
Una via sintattica alla verità: l’inferenza: Una formula è conseguenza logica (semantica) di altre formule se è vera quando queste sono vere. So che se piove, mi posso bagnare, e quindi ogni qual volta piove mi posso bagnare, <se piove, mi posso bagnare>, <piove>, allora <mi posso bagnare>, i numeri pari sono divisibili per 2, quindi ogni numero pari è divisibile per 2, <se è pari, allora è divisibile per 2>, <è pari>, allora <è divisibile per 2> sintattica: se AB, A allora B AB A regola di inferenza (modus ponens) B La dimostrazione è una sequenza finita di formule, ciascuna delle quali o è una premessa o si ricava da formule precedenti tramite una regola di inferenza. L’ultima formula è il teorema. Le premesse sono formule assunte come vere.
La dimostrazione L’idea di dimostrazione prima di Euclide era sostanzialmente quella di una costruzione geometrica che rendeva evidente una certa proprietà: ad esempio il teorema di Pitagora. Con Aristotele e Euclide la dimostrazione assume una forma sintattica, quasi una traduzione della costruzione, con Frege anche le inferenze diventano sintattiche. La verità è un concetto semantico, la dimostrazione è un concetto sintattico, quasi meccanico E’ necessario ‘capire’ una dimostrazione? Si e no Se la formula T è stata dimostrata dalle premesse A1, A2, … An, scriveremo A1, A2, … An T, se la formula T è conseguenza logica delle premesse A1, A2, … An, scriveremo A1, A2, … An T
Un esempio: AB, BC, A C Ad esempio: <se piove, mi posso bagnare>, <se mi posso bagnare, prendo l’ombrello>, <piove> <prendo l’ombrello>. A B C AB BC 0 0 0 1 1 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 1 1 A premessa AB premessa B modus ponens BC premessa C modus ponens Il modus ponens è una regola corretta: se AB e A sono vere, allora è vera anche B.
quarta riga, e in tale caso anche B è vera. A e AB sono contemporaneamente vere in un solo caso: la quarta riga, e in tale caso anche B è vera. A B AB A (A B) (A (A B) ) B 1 Equivalentemente basterebbe dimostrare che (A (A B) ) B è una tautologia. In generale la regola Premesse è corretta Conseguenze sse Premesse Conseguenza è una tautologia. Abbiamo usato per il costrutto <se…allora…> due simboli diversi: e . Qual è la differenza?
La deduzione naturale La dimostrazione è intesa come una procedura in cui si ‘smantellano’ le premesse e con i ‘frammenti’ si ‘costruisce’ il teorema. E quindi occorrono regole per eliminare i connettivi e regole per introdurli. -eliminazione AB A B Dalle tavole di verità si verifica che sono regole di inferenza corrette.
Ad esempio: A (B C), A B C. premesse teorema Scriviamo le premesse lasciamo dello spazio e poi il teorema da dimostrare: A (B C) A B ………… C Smantelliamo le premesse A (B C) A B A -elim. B -elim. (B C) -elim. ………… C Riempiamo lo spazio rimasto per ottenere il teorema: A (B C) A B A B (B C) C -elim La dimostrazione così costruita è corretta! Il teorema è soddisfatto se lo sono le premesse: A (B C), A B C
A (B C), A B C A B C AB B C A(B C) (A (B C)) (A B) (A (B C)) (A B) C 1 Non accade mai che (A (B C)) (A B) sia vera e C sia falsa (A (B C)) (A B) C è una tautologia
Le sottoderivazioni. Abbiamo quattro connettivi (, , ,) e quindi abbiamo bisogno di otto regole, mentre ne abbiamo date solo cinque. Le tre mancanti (le due del e la -introduzione) sono date come sottoderivazioni, cioè ‘dimostrazioni locali’, simili alle subroutines in un programma. Una sottoderivazione ha delle ‘assunzioni’ che sono delle premesse locali, può ‘importare’ tutte le formule dalla derivazione principale, e si può ‘chiudere’ se sono soddisfatte certe condizioni e in tal caso ‘esportare’ un risultato nella derivazione principale
La -introduzione Per introdurre la si usa una sottoderivazione, una sottodimostrazione da usare all’interno di una dimostrazione principale, che ricorda il ‘lemma’ delle dimostrazioni geometriche. Per introdurre una formula A B si usa A come ‘assunzione’, si importano formule dalla dimostrazione principale, e se alla fine si ottiene B, si può esportare nella dimostrazione principale A B. …… A assunz. ….. ….. import B A B ……..
Dimostrare che A B, B C A C A B premessa B C premessa A assunz. per -intro A B import B -elim B C import C -elim A C export -intro
Dimostrare che A (B C) (A B) (A C) A (B C) premessa A B assunz. per (A B) (A C) A assunz. per A C A B import B -elim. A (B C) import B C -elim. C -elim. A C export per -intro (A B) (A C) export per -intro La correttezza della regola deriva non dalla tavola di verità dell’ , ma da un teorema: Se K, A B allora K A B
se e solo se, qualunque sia i, E la coppia di regole, il modus ponens come -eliminazione e la sottoderivazione della -introduzione, ci fanno notare che derivare T da A equivale a dimostrare AT, e che, assumendo A, da AT si ottiene T. Otteniamo quindi la interscambiabilità tra l’implicazione statica data dal connettivo e quella dinamica data dalla relazione di dimostrabilità . In realtà abbiamo qui in sostanza solo ridotto il connettivo , per introdurlo nella dimostrazione, alla dimostrazione espressa dall’. Sarà questo il contenuto del ‘teorema di deduzione’: A1 , A2 , …. , An T se e solo se, qualunque sia i, A1 , A2 , …. , Ai-1, Ai+1 ,…. An Ai T
Il teorema di deduzione A1 , A2 , …. , An T se e solo se, qualunque sia i, A1 , A2 , …. , Ai-1, Ai+1 ,…. An Ai T Per una sola premessa (n=1): A T se e solo se A T, e ogni dimostrazione Premesse T è anche una regola (derivata) Premesse Ma lo stesso non vale per premesse infinite. A1 A1 A1 A1 A2 A2 A2 A2 …. …. …. … An An An An …… Ai Ai l Ai …… ……. ….. …… T T T T Ai T indica il posto vuoto lasciato da Ai A1 A1 A1 …….. ……… …….. Ai-1 Ai-1 Ai+1 Ai+1 …….. ………… An An An …….. ……… ……. Ai T Ai T Ai T T T
Trattamento del La sottoderivazione che consente introduzione ed eliminazione del è sostanzialmente la dimostrazione per assurdo. La -introduzione si usa per costruire la formula A. L’assunzione di partenza è A, e se si ottiene una contraddizione (B B, per un qualsiasi B), si può esportare A nella dimostrazione principale. Analogamente per la -eliminazione: l’assunzione è A, e se si ottiene una contraddizione si esporta A . La correttezza delle due regole deriva dalla tavola di verità del .
Esempio: modus tollens P Q Q P P Q prem. Q prem. P assunz. P Q import Q -elim. Q import QQ -intro. assurdo P -intro. P Q P Q PQ (PQ)(Q) 1
PQ ( PQ) B C C B P Q premessa PQ assunz. ( PQ) -intro. Legge di de Morgan B C premessa C assunz. B -intro. C B -intro. regola di B C conversione C B P -elim. P Q import Q -elim. Q -elim. QQ -intro. B assunz. B C import C -elim. C import CC -intro.
Correttezza e Completezza La dimostrazione è oggetto di un calcolo logico Una proposizione può essere ‘vera’ in una certa interpretazione, falsa in un’altra: <0 è il numero più piccolo>, è soddisfatta nei numeri interi, ma non nei relativi, vera è una proposizione soddisfatta in tutte le interpretazioni (una tautologia, come AA) Una calcolo logico è corretto se tutto ciò che è dimostrabile è vero, è completo se tutto ciò che è vero è dimostrabile. Un calcolo logico è corretto se PremesseT implica PremesseT, è completo se PremesseT implica PremesseT
‘conservino la verità’ delle ipotesi. Per garantire la correttezza è necessario e sufficiente che le regole di inferenza siano truth- preserving, cioè nella conclusione ‘conservino la verità’ delle ipotesi. In tal caso poiché le premesse sono soddisfatte nei loro modelli e le regole trasformano verità in verità tutte le formule della dimostrazione sono soddisfate nei modelli delle premesse. Le tautologie sono sempre vere e quindi possono sempre essere introdotte in una dimostrazione. A B AB 0 0 1 0 1 1 1 0 0 1 1 1 Ad esempio nel modus ponens le ipotesi sono A e AB, la conclusione è B: Quando le ipotesi sono vere è vera anche B.
Se il calcolo logico è corretto e completo, possiamo distinguere due casi in base alla natura delle premesse: Nel calcolo logico puro le premesse (gli assiomi) possono essere solo tautologie, e ne segue che tutte le righe della dimostrazione (incluso il teorema) sono tautologie. In una teoria assiomatica gli assiomi non sono tautologie e siamo interessati alle interpretazioni che soddisfano gli assiomi (i loro modelli) e quindi anche i teoremi. Ad esempio: in geometria «per due punti passa una e una solo retta», e in tutti i modelli in cui gli assiomi della geometria sono validi, sono validi anche tutti i teoremi.
Ne consegue che in un calcolo corretto e completo c’è una corrispondenza perfetta tra sintassi e semantica, tra Teoremi: PremesseT, conseguenze logiche: Premesse T e regole derivate: In una teoria assiomatizzata con un sistema finito di assiomi vale anche l’equivalenza (nel calcolo logico puro con Premesse T , e quindi ogni teorema è anche una tautologia Premesse T. Ad esempio se Assiomi_Geometria Teorema_di_Pitagora, allora Assiomi_Geometria Teorema_di_Pitagora Premesse T
Basta infatti verificare che Premesse T sia una tautologia. Premesse = { AB, AC }. Premesse BC Premesse C Basta infatti verificare che Premesse T sia una tautologia. A B C A AB AC Premesse BC C 0 0 0 1 0 1 0 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 0 0 1 0 0 0 1 1 0 1 0 1 1 1 1 0 1 1 0 0 1 0 0 1 1 1 1 1 0 1 1 1 1 0
Dimostrare con le tavole di verità che: CB, A (AB)C . A B C CB Premesse (AB) (AB)C . 0 0 0 1 0 1 0 0 0 1 1 0 1 1 0 1 0 0 0 1 0 0 1 1 1 0 1 1 1 0 0 1 1 0 1 1 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1 1 1 1 1 1 La tesi è vera in tutti i modelli delle premesse, e quindi è dimostrata
Dimostrare con la deduzione naturale che: CB, A (AB)C . CB premessa A premessa A B assunzione in una sottoderivazione per la - introduzione A import B modus ponens dalle due righe precedenti CB import C or-eliminazione dalle due righe precedenti, chiusura della sottoderivazione (AB)C -introduzione CVD
Il calcolo logico puro Il calcolo logico sulle tautologie (T) assume un ruolo speciale. Ogni dimostrazione del tipo A1 , A2 , …. , An T corrisponde ad una tautologia A1 A2 …. AnT e ad una regola A1 A2 …. An tautologie proposizioni T , …. , An A1 , A2 , …. , An 2 A T 2 Il calcolo logico puro descrive quindi compiutamente gli aspetti formali della logica: ogni teorema ha un numero finito di premesse. Così che l’insieme delle tautologie della forma A T include tutti i possibili teoremi e tutte le possibili regole di inferenza.
Ad esempio la tautologia ((P Q) Q) P (verificabile anche con le tavole di verità) corrisponde alla dimostrazione P Q, Q P e alla regola derivata P Q Q (modus tollens), P del tipo <se piove prendo l’ombrello>,<non prendo l’ombrello> e quindi <non piove>. Analogamente per la regola derivata P Q (conversione) Q P Se invece la tautologia è una doppia implicazione, come (P Q) (P Q) allora abbiamo una equivalenza tra le due formule e due regole derivate P Q P Q P Q P Q e si può dimostrare sia P Q P Q che P Q P Q Analogamente dalle leggi di de Morgan: (P Q) (P Q) P Q P Q
Sin dal Medioevo si conosce il teorema dello pseudo-Scoto: P, P B, qualunque sia B, cioè da una contraddizione si può derivare P prem. qualsiasi formula. Infatti: PB -intro Altro risultato notevole la P prem. consequentia mirabilis: (P P) P B -elim. nella quale una proposizione non P P prem. tautologica è dimostrata senza P ass. contenuti ad essa estranei, ma solo P P import dalla sua relazione con la sua P -elim. negazione PP -intro P -intro.
La logica proposizionale è corretta e completa Abbiamo visto che la correttezza di un calcolo logico è facilmente verificabile, e del resto nessuno ha mai dubitato della correttezza della logica delle nostre dimostrazioni (ad esempio in geometria). Meno ovvia la completezza: chi ci assicura che tutte le proprietà vere della nostra geometria siano dimostrabili dai nostri assiomi? Non la dimostriamo Del resto verità e dimostrabilità sono due cose molto diverse. Dimostrare che <in tutti i triangoli la somma degli angoli interni è 180°> è una paginetta nel libro di geometria, verificarlo significa effettuare infinite misure!
Condizione necessaria e sufficiente A condizione sufficiente per B (se A, B) vuol dire AB: <che un numero sia multiplo di 4 è condizione sufficiente perché sia pari> A condizione necessaria per B (A solo se B) vuol dire BA: <che un numero sia pari è condizione necessaria perché sia multiplo di 4> (questo spesso trae in inganno poiché sembra strano che una ‘condizione’ sia una conseguenza) A condizione necessaria e sufficiente per B (A se e solo se B) vuol dire ovviamente che AB e BA
La decidibilità Un altro problema (ad esempio decidere se una certa formula è dimostrabile da certe premesse) si dice decidibile se esiste un algoritmo (una procedura meccanica) che per qualsiasi input in tempo finito ci dà la risposta (positiva o negativa). L’algoritmo che decide se una formula è dimostrabile è noto come general theorem prover Premesse,T gtp La logica proposizionale, essendo completa, è decidibile tramite le tavole di verità Premesse T Premesse T
Per certe logiche il general theorem prover non sempre termina nel caso di risposta negativa (semidecidibile) Premesse, teorema gtp Degli algoritmi visti fino ad ora: le tavole di verità e la verifica che una sequenza di formule è una dimostrazione sono decidibili e di esecuzione rapida. La verifica di una equivalenza tramite una sequenza di equivalenze elementari è decidibile, ma c’è il problema del controllo sulle regole da applicare. In generale la esistenza e la eventuale costruzione di una dimostrazione sarà un problema semidecidibile. Premesse T Premesse T
Con le tavole di verità fai vedere che: A B C B A A B C A A B C A BC A BC BA 0 0 0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 0 1 1 1 1 0 1 1 1
Dimostrare con la deduzione naturale che BA, BC AC, usando anche regole derivate BA premessa BC premessa (AC) assunzione A C de Morgan A -eliminazione C -eliminazione BA import B modus tollens BC import B modus tollens B B -introduzione, contraddizione (AC)
BA, BC AC con le tavole di verità: A B C BA BC Premesse AC 0 0 0 0 1 0 0 0 0 1 0 1 0 1 0 1 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1 1 1 1 1
Perché è sbagliata la seguente derivazione ? A B (A B) A A B premessa A B assunzione B -eliminazione A B import A B equival. riga preced. A -eliminazione (A B) A -introduzione La -eliminazione non è corretta poiché . ci sarebbe stato bisogno di avere dimostrato B