Introduzione alla logica matematica Silvana Badaloni Paolo Bison Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.1/37 Logica matematica formalizzazione dei meccanismi di ragionamento la logica studia proposizioni una proposizione può essere vera o falsa logica a due valori di verità Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.2/37 Formalizzazione sintassi in che modo scrivere le proposizioni semantica significato delle proposizioni Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.3/37 Logica proposizionale P1: Se fa caldo ed è umido allora pioverà P2: Se è umido ed è estate allora fa caldo P3: adesso è umido P4: adesso è estate si vuole verificare: P5: pioverà Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.4/37 Logica proposizionale Ad ogni proposizione elementare viene associata una variabile proposizionale = fa caldo = è umido = è estate = pioverà Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.5/37 Logica proposizionale F1: F2: La rappresentazione per l’esempio è F3: F4: si vuole dimostrare che da F1-F4 segue logicamente: F5: rappresenta la congiunzione (and) rappresenta la implicazione logica Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.6/37 Sintassi La logica proposizionale tratta formule. Una formula è composta da: formule atomiche o atomi (A, B, C, ...) connettivi logici parentesi ( ) Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.7/37 Connettivi logici not negazione or disgiunzione and congiunzione if then implicazione if and only if bi-implicazione Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.8/37 Formule ben formate Una formula è ben formata (FBF) se e solo se essa è ottenibile applicando le seguenti regole: 1. un atomo è una FBF è una FBF 2. se è una FBF, allora , 3. se e sono FBF, allora lo sono anche , e Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.9/37 Priorità dei connettivi , 3. 2. 1. Stabilendo un ordinamento tra i connettivi è possibile eliminare alcune parentesi. L’ordine adottato è il seguente: , Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.10/37 Semantica la semantica della logica proposizionale richiede l’introduzione dei valori di verità dare una interpretazione vuol dire trovare una funzione essendo l’insieme delle formule ben formate FBF del Calcolo Proposizionale. Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.11/37 Valore di verità di una formula Si può calcolare il valore di verità di una espressione del Calcolo Proposizionale a partire dai valore di verità delle formule atomiche che la compongono (interpretazioni) e dalle tabelle di verità dei connettivi logici. Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.12/37 Tabelle di verità dei connettivi logici T T F F T F T F F F T T T F F F T T T F T F T T T F F T Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.13/37 Tautologie T T T T T T F F F T F T T F T F F T F T Alcune formule sono vere in tutte le interpretazioni. Tautologie o formule valide. Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.14/37 Contraddizioni T T F F T F T F T F T T formule che sono false in tutte le interpretazioni. F T F T F F F F Contraddizioni o formule inconsistenti. Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.15/37 Decidibilità della logica proposizionale Ogni formula è finita e contiene un numero finito di formule atomiche: quindi è sempre possibile determinare se essa è valida, inconsistente o ne’ l’uno ne’ l’altro. La logica proposizionale è decidibile. Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.16/37 Equivalenza Logica Due formule e sono equivalenti, e si indica con , se e solo se esse hanno lo stesso valore di verità in tutte le interpretazioni. se e solo se la formula Si può dimostrare che è una tautologia. Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.17/37 doppia negazione idempotenza idempotenza legge dei neutri legge dei neutri legge dei neutri legge dei neutri esclusione ! ! ! ! identità Relazioni di equivalenza logica - I Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.18/37 complementarietà " associatività " associatività commutatività commutatività " distributività " distributività legge di De Morgan legge di De Morgan " " " " Relazioni di equivalenza logica - II Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.19/37 assorbimento assorbimento eliminazione implicazione " # proprietà implicazione " # proprietà implicazione assorbimento assorbimento # # # # $ # " # " doppia implicazione # # Relazioni di equivalenza logica - III Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.20/37 Esempio - I - ( *. - ) +,* ) ' )( 0/ +12 *4 25 675 ) 2 92 +' 5 / : *. ' ) 8 * / 3 ' &% (b) (a) verificare che le seguenti formule sono equivalenti: Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.21/37 Esempio - IIa &% Verificare se la seguente formula è una tautologia: ; >= < = ; < >= (a) ; < ; < ; tabella di verità T T T F T T T F F T F T F T T T T T F F T T T T Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.22/37 Esempio - IIb @ ? relazione di equivalenza propr. impl. elim. impl. elim. impl. distributiva neutri neutri doppia neg. compl. . Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.23/37 Deduzione logica D B A C Nell’esempio introduttivo le formule sono dette premesse e è detta conclusione o conseguenza logica. G G G - -- F E H - -- F E - -- F E Una formula segue logicamente da un insieme di formule se è vera in tutte le sono vere. Si scrive: interpretazioni in cui Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.24/37 G e la formula , G - -- F E H - -- F Date le formule E Teorema di Deduzione - I - -- G F E se e solo se la formula: è una tautologia. Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.25/37 Teorema di Deduzione- II G , G - -- F E H - -- F E Un teorema analogo stabilisce che: Date le formule e la formula - -- G F E se e solo se la formula: è una contraddizione. Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.26/37 Metodi per provare teoremi - -- G F E 1. diretto: si dimostra che è una tautologia - -- G F E 2. per refutazione: si dimostra che è una contraddizione. Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.27/37 Deduzione naturale E’ un metodo diretto per provare teoremi. Si applica una regola di inferenza a un insieme di premesse. Si continua fino a che si trova una formula che coincide con la formula da provare (goal) oppure quando non si possono dedurre più nuove formule (il goal non è un teorema) Deduzione di nuove proposizioni da altre per mezzo di un metodo formale. Non è facile da incorporare in un programma automatico: ad ogni passo quale regola? Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.28/37 5. if then 6. if and then (modus ponens) then and 7. if then 4. if then 3. if then then 2. if and 1. if Regole di inferenza (modus tollens) Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.29/37 2. 1. Esempio - III 3. . per regola 1; da 5 e 2 per modus ponens; 7. 6. 5. da queste premesse proviamo 4. per regola 1; 8. D per modus ponens. Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.30/37 Do it yourself - I Si dica se la seguente formula è una tautologia: (b) (a) Si dica se le seguenti espressioni del calcolo proposizionale sono o non sono equivalenti: Si dica se la seguente formula del calcolo proposizionale è una contraddizione. Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.31/37 Connettivi logici in Java operatore unario ! not operatori binari & and ˆ xor (or esclusivo) | or && and condizionale || or condizionale Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.32/37 Connettivi logici in Java tabelle di verità A e B espressioni di tipo boolean A B !A A&B A|B AˆB true true false true true false true false false false true true false true true false true true false false true false false false Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.33/37 Esempi di espressioni k>=0 & k<n (ERRATO 0<=k<n) k<0 | k>=n !(k>=0 & k<n) !(x>0 | y<x)&(x<=0) Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.34/37 Connettivi condizionali il secondo operando viene valutato se e solo se il primo è true se l’operatore è && il primo è false se l’operatore è || esempi k>=0 && k<n k<0 || k>=n a!=0 && b/a>100 (ERRATO a!=0 & b/a>100) a==0 & (c=b)>100 (ERRATO a==0 && (c=b)>100) Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.35/37 Espressione condizionale sintassi <expr0> ? <expr1> : <expr2> semantica se il valore di <expr0> è true si valuta <expr1> altrimenti <expr2> esempi x>=0 ? x : -x x>y ? (x>z ? x : z) : (y>z ? y : z) n=k>y ? k-y : y-k; if (k>y)n= k-y; else n=y-k; Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.36/37 Do it yourself - II esprimere il connettivo xor in termini degli altri connettivi Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.37/37