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: A B, B C, A C • Ad esempio: <se piove, mi posso bagnare>, <se mi posso bagnare, prendo l’ombrello>, <piove> <prendo l’ombrello>. A B CA BB C A A B B B C C premessa premessa modus ponens premessa modus ponens 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 0 1 1 Il modus ponens è una regola corretta: se A B e A sono vere, allora è vera anche B. 1 1 0 1 1 1 0 1 A e A B sono 0 0 1 0 1 contemporaneamente 0 1 1 0 1 vere in un solo caso: la 1 0 0 0 1 1 1 1 1 1 quarta riga, e in tale caso anche B è vera. Equivalentemente basterebbe dimostrare che (A (A B) ) B è una tautologia. In generale la regola Premesse è corretta Conseguenze sse Premesse Conseguenza è una tautologia. A B A B A (A B) (A (A B) ) B • 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. AB -eliminazione A -introduzione -eliminazione AB B A -introduzione A AB B AB A AB -eliminazione B AB B B AB A A B A B Dalle tavole di verità si verifica che sono regole di inferenza corrette. • Ad esempio: A (B C), A B premesse Scriviamo le premesse Smantelliamo lasciamo dello spazio le premesse e poi il teorema da dimostrare: A (B C) AB A (B C) A -elim. AB B -elim. ………… (B C) -elim. ………… ………… C C C. teorema Riempiamo lo spazio rimasto per ottenere il teorema: A (B C) AB 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) C (A (B C)) (A B) C 0 0 0 0 1 0 0 0 1 0 0 1 0 1 0 0 1 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 0 0 0 0 1 1 1 1 1 1 1 1 1 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 ….. ….. B A B …….. assunz. import Dimostrare che A • A • B • • • • • • A B C A A B B C C B C B, B C A premessa premessa assunz. per -intro import -elim import -elim export -intro C Dimostrare che A (B C) (A B) (A C) A (B C) AB premessa assunz. per (A B) (A C) A assunz. per A C AB import B -elim. A (B C) import BC -elim. C -elim. AC 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 • 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 A T, e che, assumendo A, da A T 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 A1 A2 …. An …… …… T A1 A2 …. An Ai A1 A2 …. An Ai ……. T indica il posto vuoto lasciato da Ai ….. T A1 A2 … An l A1 A1 A1 …….. ……… …….. Ai-1 Ai+1 Ai …… T Ai T Ai-1 Ai+1 …….. ………… An An An …….. ……… ……. Ai T Ai T Ai T 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 T Ma lo stesso non vale per premesse infinite. 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 . -eliminazione . -introduzione A A assunz. assunz. Import import B B assurdo B B assurdo A A Esempio: modus tollens P Q Q P P Q, Q P, P Q P Q PQ (PQ)(Q) 0 0 1 1 1 1 0 1 1 0 1 0 1 0 0 1 0 0 1 1 0 0 1 0 P Q, Q PQ Q P PQ Q Q QQ P P prem. prem. assunz. import -elim. import -intro. assurdo -intro. PQ ( PQ) PQ premessa PQ assunz. P -elim. PQ import Q -elim. Q -elim. QQ -intro. ( PQ) -intro. Legge di de Morgan B C B C C C B premessa assunz. B assunz. B C import C -elim. C import CC -intro. B -intro. C B -intro. regola di B C conversione C B 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 Premesse T implica Premesse T, è completo se Premesse T implica Premesse T • Per garantire la correttezza è necessario e sufficiente che le regole di inferenza siano truth- preserving, cioè nella conclusione ‘conservino la verità’ delle ipotesi. A B A B Ad esempio nel modus ponens le ipotesi sono A e A B, la conclusione è B: Quando le ipotesi sono vere è vera anche B. 0 0 1 1 0 1 0 1 1 1 0 1 • 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. 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: Premesse T, • conseguenze logiche: Premesse T Premesse • e regole derivate: T • 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 = { AB, AC }. Premesse BC C Premesse • Basta infatti verificare che Premesse T sia una tautologia. • A B C A AB AC Premesse BC C • • • • • • • • 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 1 1 0 1 1 1 1 0 1 0 1 0 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 A A B A B CB C (AB)C CVD premessa premessa assunzione in una sottoderivazione per la introduzione import modus ponens dalle due righe precedenti import or-eliminazione dalle due righe precedenti, chiusura della sottoderivazione -introduzione 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 …. An T e ad una regola A1 A2 …. An tautologie proposizioni , …. , An A1 , A2 , …. , An T 2 A T2 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 PQ (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 pseudoScoto: 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 A B: <che un numero sia multiplo di 4 è condizione sufficiente perché sia pari> • A condizione necessaria per B (A solo se B) vuol dire B A: <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 A B e B A 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 • Premesse,T gtp Premesse T • La logica proposizionale, essendo completa, è decidibile tramite le tavole di verità Per certe logiche il general theorem prover non sempre termina nel caso di risposta negativa (semidecidibile) Premesse, teorema gtp Premesse Premesse T T 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. Con le tavole di verità fai vedere che: ABC B A ABC A A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C A 0 1 1 1 0 1 1 1 0 0 1 0 0 0 1 0 BC 0 0 0 1 0 0 0 1 A BC 1 1 1 1 0 0 0 1 BA 1 1 1 1 0 0 1 1 Dimostrare con la deduzione naturale che BA, BC AC, usando anche regole derivate BA BC (AC) (AC) A C A C BA B BC B B B premessa premessa assunzione de Morgan -eliminazione -eliminazione import modus tollens import modus tollens -introduzione, contraddizione BA, BC AC con le tavole di verità: A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C BA 0 0 1 0 0 1 1 1 0 1 1 1 0 1 1 1 BC Premesse AC 1 0 0 1 0 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 Perché è sbagliata la seguente derivazione ? A B (A B) A AB premessa AB 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 .