Introduzione alla LOGICA MATEMATICA Corso di Matematica Discreta. Corso di laurea in Informatica. Prof. Luigi Borzacchini II. La logica delle proposizioni. Semantica.
Le proposizioni e la verità Le proposizioni rappresentano le frasi che possono essere vere o false (non le esclamazioni, le domande, gli ordini, etc.). La verità è un concetto semantico: una proposizione è vera se esprime lo stato delle cose. Proposizioni individuali (‘Ballottelli è alto’), particolari o esistenziali (‘qualche centravanti è alto’, ‘c’è un centravanti alto’) e universali (‘tutti i centravanti sono alti’). Proposizioni positive e negative (sono diverse ‘nessun mediano è alto’, ’tutti i mediani non sono alti’, ‘non ci sono mediani alti’, ‘non tutti i mediani sono alti’, e ‘ci sono mediani non alti’?).
Aristotele e la logica antica Il sillogismo: «tutti gli umani sono mortali», «tutti i greci sono umani» e quindi «tutti i greci sono mortali». Oppure «alcuni ateniesi sono alti» e «tutti gli alti sono robusti» e quindi «alcuni ateniesi sono robusti». Ma da «alcuni ateniesi sono alti», «alcuni ateniesi sono biondi» non si può dedurre niente di rilevante. I principi formali: non contraddizione (non può essere la stessa proposizione vera e falsa), terzo escluso (ogni proposizione è vera o falsa), verità per corrispondenza (è vero dire che è ciò che è, o che non è ciò che non è, è falso dire che è ciò che non è, o che non è ciò che è).
I connettivi Le proposizioni sono gli ‘atomi’ della logica delle proposizioni, il cui valore di verità è V/1 o F/0. Le proposizioni complesse si ottengono tramite l’uso dei connettivi: non/not (), e/and/ congiunzione (), o/or/disgiunzione (), se … allora /if … then (), se e solo se/if and only if/iff (). Si dicono verofunzionali, poiché agiscono solo sui valori di verità: ad es. A è vera se e solo se A è falsa, A B è vera se e solo se sono vere sia A che B, AB è vera se e solo se A e B hanno uguale valore di verità, a prescindere dal significato di A e B.
Tavole di verità A A 0 1 1 0 è un connettivo ‘unario’ (monadico), gli altri sono connettivi ‘binari’ (diadici). Queste tavole di verità derivano dall’uso delle congiunzioni nel linguaggio naturale e sono ovvie, tranne che per il : è. infatti difficile accettare che «se 2 è un numero dispari A B A B A B AB AB 0 0 0 0 1 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 1 allora la luna è di formaggio» o «se 2 un numero dispari allora la luna è un satellite» siano proposizioni vere. Infatti nell’ uso normale ‘se…allora’ indica una argomentazione e non solo una relazione tra valori di verità.
Il linguaggio delle proposizioni L’alfabeto: { , , , , ,P, Q, R, ….} Il linguaggio: sono proposizioni (Prop) le ‘proposizioni atomiche’ P, Q, R, …, e poi Prop, Prop Prop, Prop Prop, Prop Prop, Prop Prop. Nient’altro è una proposizione. Si usano le parentesi per indicare l’ordine con cui si applicano i connettivi: ad esempio (P Q) (Q R), o P (Q P), ma quest’uso in realtà traduce una rappresentazione ‘ad albero’ Albero e Grafo sono strutture formate da vertici e archi che connettono due vertici, diretti o no.
Rappresentare espressioni come alberi Intuitivamente un albero possiamo vederlo come una struttura (ordinata implicitamente dall’alto verso il basso, come un albero genealogico). Le ‘foglie’ sono proposizioni atomiche, e i vertici intermedi sono connettivi applicati ai loro ‘discendenti’. Essendo i connettivi al più binari, l’albero nel linguaggio delle proposizioni è binario, ha al più due discendenti P Q P P(Q P)
La tavola di verità di una proposizione composta P(Q P) 1 1 1 0 0 P Q P Q P P Si assegnano i valori di verità alle ‘foglie’ (ad es. P vero, Q falso) e si calcola il valore di verità della proposizione composta ‘bottom up’, dal basso verso l’alto. Banale.
Calcolo della tavola di verità P Q PQ PPQ (QP) P(Q P) P(QP) 0 0 1 1 0 0 1 0 0 1 1 1 1 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 0 1 0 Ripetendo la procedura per proposizioni quali P(Q P) o P (QP) troviamo una tavola di verità sempre vera (nel primo caso) e sempre falsa (nel secondo): parliamo in tali casi di tautologia e contraddizione. La tautologia più semplice è PP, che esprime l’antico ‘terzo escluso’, la contraddizione più semplice è PP, la cui negazione è il ‘principio di non contraddizione’.
Le proposizioni Le contraddizioni non dicono nulla perché dicono cose assurde: <la neve è bianca e non è bianca>, impossibili nel ‘mondo’ PROPOSIZIONI contraddizioni tautologie Le tautologie non dicono nulla perché dicono cose ovvie: <la neve è bianca oppure non è bianca>, ma avranno un ruolo speciale, in quanto esprimono la forma logica del nostro ‘mondo’.
Proposizioni equivalenti-1 P e P(PQ)) hanno la stessa tavola di verità, così tutte le tautologie idem e tutte le contraddizioni: chiamiamo proposizioni equivalenti quelle che hanno la stessa tavola di verità A B è vero quando A e B hanno sempre lo stesso valore di verità e quindi sono equivalenti. Ne segue che si può anche leggere A B come ‘A equivalente a B’. Un esempio di partizione Tautologie Contraddizioni
Linguaggio e metalinguaggio Un metalinguaggio è un linguaggio per parlare di un altro linguaggio, come l’italiano è il metalinguaggio che sto usando per parlarvi della logica. Nel linguaggio italiano vari usi dei termini sono mischiati. Esempio: <il topo si nascose> appartiene al linguaggio comune, <il topo è un mammifero> appartiene al linguaggio della zoologia, <il topo è il soggetto della frase ‘il topo si nascose’> appartiene al metalinguaggio. E questo genera paradossi, come il paradosso del mentitore: <questa frase è falsa>, ove la stessa frase appartiene nel contempo al linguaggio e al metalinguaggio.
Metalinguaggio del linguaggio logico Se A e B sono due proposizioni <A è equivalente a B> è una metaproposizione della logica delle proposizioni. Ma durante la lezione io posso parlarvi anche del metalinguaggio, usando in tal caso un metametalinguaggio. E così via … Ad esempio: < (P Q) è equivalente a (P Q) > è equivalente a < (P Q) (P Q) è una tautologia>. Abbiamo tre linguaggi: il linguaggio logico, il metalinguaggio della logica proposizionale, il metametalinguaggio del corso di logica.
Le equivalenze più importanti sono le proprietà dei connettivi. (P Q) è equivalente a (P Q) (P Q) (P Q) è una tautologia Per qualsiasi coppia di formule A e B: A è equivalente a B se e solo se A B è una tautologia P Q P P Q (P Q) (P Q) (P Q) 1
Proprietà dei connettivi Ad esempio associatività e commutatività di and e or: A B B A A B B A A (B C) (A B) C A (B C) (A B) C Distributività: A (B C) (A B ) (A C) A (B C) (A B ) (A C) Involuzione: A A, Assorbimento: A (B A) A, A (B A) A, leggi di de Morgan: (AB) (AB), (AB) (A B)
Proposizioni equivalenti-2 Vale tanto la distributività dell’and rispetto all’or che dell’or rispetto all’and: [P (Q R)] [(P Q) (P R)], [P (Q R)] [(P Q) (P R)], P Q R Q R P (Q R) PQ PR (PQ) (PR) 1 Con le tavole: P Q è equivalente a (P Q) (Q P) P Q è equivalente a P Q, e quindi P Q è equivalente a ( P Q) ( Q P).
(PQ) (PQ), (PQ) (P Q) R Q R P (Q R) PQ (P Q) R] P Q (P Q)R 1 Leggi di de Morgan: (PQ) (PQ), (PQ) (P Q) P Q P Q P Q (P Q) P Q PQ (PQ) P Q 1
Proposizioni equivalenti-3 L’equivalenza di due proposizioni si può verificare con le tavole di verità oppure tramite una serie di equivalenze già note. Esempio: [P (Q R)] [(P Q) R]. Infatti [P (Q R)] [ P (Q R)] [ P ( Q R)] [( P Q) R] [(P Q) R] [(P Q) R]: verifica con le tavole di verità! Ma è facile verificare con le tavole di verità che [(P Q) R] non equivale a [P (Q R)]: per il non vale la proprietà commutativa.
Proposizioni e circuiti elettrici All’inizio della computer science la tecnologia si basava sui circuiti elettrici e sui relais che controllavano interruttori, con i quali si realizzavano i principali connettivi: and, or, not. Capovolgendo il relais si realizzava il not, col circuito in serie l’and e con quello in parallelo l’or. P Q R P P Q P Q R R P Q R P
Conviene usare meno connettivi? Allora potremmo eliminare e , e usare solo , e , con le leggi di de Morgan potremmo eliminare oppure , e usare solo due connettivi. Infine potremmo ridurci ad un solo connettivo, il NAND o il NOR. Possiamo allora definire P come NAND(P,P) oppure NOR(P,P); PQ come NAND(NAND(P,P),NAND(Q,Q)), o PQ come NOR(NOR(P,P), NOR(Q,Q)). Sarebbe utile? P Q NAND(P,Q) NOR(P,Q) Avremmo lunghe 0 0 1 1 espressioni illeggibili, 0 1 1 0 e quindi è meglio avere 1 0 1 0 qualche connettivo in più 1 1 0 0