Fondamenti di Informatica 2 Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Fondamenti di Informatica 2: Logica ♦ Indice degli argomenti • Introduzione: Motivazioni, Prove, Ragionamenti e loro conseguenze • Logica Proposizionale: sintassi • Il calcolo proposizionale: semantica • Il calcolo proposizionale: dimostrazioni nel calcolo Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Logica: Motivazioni ♦ La LOGICA è la disciplina che studia le condizioni di correttezza del ragionamento ♦ Occorre dire, anzitutto, quale oggetto riguardi ed a quale disciplina spetti la presente indagine, che essa cio riguarda la dimostrazione e spetta alla scienza dimostrativa: in seguito, bisogna precisare cosa sia la premessa, cosa sia il termine, cosa sia il sillogismo... [Aristotele] ♦ Esempio di sillogismo (sillogismo = connessione di idee, ragionamento) • Tutti gli uomini sono mortali • Socrate è un uomo • Socrate è mortale Equivalentemente Dato che Tutti gli uomini sono mortali e che Socrate è un uomo possiamo concludere che Socrate è mortale Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Logica: Motivazioni ♦ Non tutti i sillogismi sono validi. Ad esempio • Tutti gli animali sono mortali • Socrate è mortale • Socrate è un animale • Tutti gli dei sono immortali • Gli uomini non sono dei • Gli uomini sono mortali I due sillogismi precedenti sono errati: la conclusione non deriva logicamente dalle premesse ♦ Obiettivi di questa parte: - presentare la logica proposizionale, una (piccola) parte della logica - presentare in modo formale i concetti di prova cosı̀ come si utilizzano nella logica proposizionale Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Cosa è una dimostrazione, una prova astuta ♦ Cosa è un teorema in matematica? Teorema di Pitagora: Se a, b, c sono lati di un triangolo rettangolo allora a2 + b2 = c2 Familiare? SI Ovvio? No - 4 triangoli rettangoli con cateti lunghi a e b e un quadrato di lato b − a Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Cosa è una dimostrazione, una prova astuta ♦ Teorema di Pitagora: Se a, b, c sono lati di un triangolo rettangolo allora a2 + b2 = c2 - 4 triangoli rettangoli con cateti lunghi a e b e un quadrato con lato lungo b − a hanno area complessiva pari a c2 Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Cosa è una dimostrazione, una prova astuta-2 ♦ Teorema di Pitagora: Se a, b, c sono lati di un triangolo rettangolo allora a2 + b2 = c2 - 4 triangoli rettangoli con cateti lunghi a e b e un quadrato con lato lungo a hanno area complessiva pari a a2 + b2. Quindi c2 = a2 + b2! Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Una dimostrazione sbagliata ♦ Consideriamo la seguente sequenza di uguaglianze: r r r r √ 1 = 1 = (−1)(−1) = (−1) (−1) = ( (−1))2 = −1 Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Conseguenze di una dimostrazione sbagliata ♦ Consideriamo la seguente sequenza di uguaglianze: r r r r √ 1 = 1 = (−1)(−1) = (−1) (−1) = ( (−1))2 = −1 ♦ Dopo aver dimostrato che 1 = −1 otteniamo anche • 21 = − 12 (moltiplica per 12 i membri della uguagl. precedente) • 2 = 1 (somma 23 ad ambedue i termini dell’uguagl. precedente) ♦ Conseguenze di 2 = 1 Dato che io e il Papa siamo chiaramente 2 possiamo concludere che io e il Papa siamo 1, cioè io e il Papa siamo la stessa persona ed io sono il Papa! [Bertrand Russel] ♦ Morale: Le conseguenze di una prova sbagliata possono essere paradossali perché una prova errata permette di fare affermazioni chiaramente errate! Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Logica: Motivazioni ♦ La LOGICA è la disciplina che studia le condizioni di correttezza del ragionamento ♦ Occorre dire, anzitutto, quale oggetto riguardi ed a quale disciplina spetti la presente indagine, che essa cio riguarda la dimostrazione e spetta alla scienza dimostrativa: in seguito, bisogna precisare cosa sia la premessa, cosa sia il termine, cosa sia il sillogismo... [Aristotele] ♦ Noi ci limiteremo alla Logica Proposizionale Nota anche come Calcolo Proposizionale ci permette di ragionare sulla verità di semplici proposizioni ♦ Obiettivo • Formalizzare i nostri ragionamenti (limitandoci alle proposizioni) • Esaminare le regole che ci permettono di stabilire la verità o la falsità di una affermazione Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Logica e informatica ♦ Nel XIX secolo sono state in matematica sono state proposte notazioni matematiche (algebriche) per trattare le operazioni della logica (George Boole) ♦ Questo ha consentito, negli anni 1900-1930, di applicare la logica ai fondamenti della matematica, arrivando a interessanti controversie e a capire i limiti della matematica (Frege, Russel, Godel ed altri) ♦ In matematica, la logica usata principalmente per esprimere asserti in modo non ambiguo ♦ La logica matematica ha profondi legami con linformatica (ed in particolare nella programmazione e in intelligenza artificiale Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Logica proposizionale Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Logica proposizionale ♦ Linguaggio matematico per ragionare sulla verità o falsità di proposizioni ♦ Composto da una sintassi (regole per costruire le frasi) e da una semantica (regole per assegnare un significato) ♦ Esempio di frase • piove, f a-caldo, f a-caldo∧(e)¬(non)piove, piove∨(o)sole • costituito da proposizioni atomiche (piove, f a-caldo, sole . . .) e da proposizioni complesse (f a-caldo ∧ ¬piove, piove ∨ sole . . .) Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Logica proposizionale: Alfabeto ♦ Linguaggio matematico per ragionare sulla verità o falsità di proposizioni • Un insieme non vuoto (finito o numerabile) di simboli proposizionali A = {A, B, . . . , P, Q, . . .}; • Le costanti proposizionali >, ⊥ (per denotare il vero TRUE e il falso FALSE); • I connettivi (detti anche operatori) proposizionali ¬ (unario), ∧ e ∨ (binari); • I simboli separatori ‘(’ e ‘)’. Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Logica proposizionale: Formule ♦ Formule (dette anche proposizioni) L’insieme Prop delle formule ben formate o formule del linguaggio proposizionale è l’insieme definito induttivamente come segue: 1. Le costanti e i simboli proposizionali sono formule; 2. Se α è una formula (¬α) è una formula; 3. Se α e β sono due formule, (α ∧ β) e (α ∨ β) sono formule. Nel seguito useremo la convenzione di denotare i simboli proposizionali con le lettere maiuscole (A, B, . . .) e le formule proposizionali con le lettere greche minuscole (α, β, . . . ). Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Semantica: Sistema di valutazione ♦ Definiamo il dominio e gli operatori che ci permetteranno di dare una semantica (significato) alle nostre proposizioni. ♦ Il sistema di valutazione della logica proposizionale è costituito dal dominio B= {0, 1}, dove il simbolo 1 denota il valore di verità e 0 il valore di falsità ed un insieme di operatori (tabelle di verità ) su questo dominio Op= {Op¬, Op∧, Op∨} uno per ogni connettivo del linguaggio con Op¬ : B 7→ B e Op∧ e Op∨ : B × B 7→ B. Dove: Op¬(1) = 0 e Op¬(0) = 1 α 1 Op∧: 1 0 0 β α∧β 1 1 0 0 1 0 0 0 Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela α 1 Op∨: 1 0 0 β α∨β 1 1 0 1 1 1 0 0 ♦ Le operazioni ∧ e ∨ sono commutative e associative. Infatti è facile mostrare che per ogni assegnazione ai simboli proposizionali α, β, γ abbiamo che α∧β =β∧α α ∨ β = β ∨ α∨ e (α ∧ β) ∧ γ = α ∧ (β ∧ γ) (α ∨ β) ∨ γ = α ∨ (β ∨ γ) Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Semantica: Valutazione booleana ♦ Un’assegnazione booleana V ai simboli proposizionali A è una funzione totale: V : A 7→ {1, 0}. ♦ Una valutazione booleana IV : Prop 7→ {1, 0} è l’estensione a Prop di un’assegnazione booleana, cioè IV (A) IV (>) IV (⊥) IV (¬α) IV (α ∧ β) IV (α ∨ β) = = = = = = V(A) se A ∈ A; 1; 0; Op¬(IV (α)); Op∧(IV (α), IV (β)). Op∨(IV (α), IV (β)). Data V, si può facilmente dimostrare che l’estensione IV esiste ed è unica. Notate che è una definizione ricorsiva (ricorsione strutturale). Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Esempio ♦ Tre amici, Antonio, Bruno e Carla, sono incerti se andare in pizzeria. Introduciamo tre proposizioni: A : Antonio va in pizzeria, B: Bruno va in pizzeria, C: Carla va in pizzeria ♦ Il giorno dopo sappiamo che: Antonio non va in pizzeria, Bruno va in pizzeria, Carla va in pizzeria Formalmente abbiamo la valutazione V: A = 0, B = 1, C = 1 ♦ Data V valutiamo le formule α: Tutti e tre sono andati in pizzeria β: Almeno due sono andati in pizzeria α=A∧B∧C β = (A ∧ B) ∨ (A ∧ C) ∨ (B ∧ C) Applicando le regole mostrare che IV (α) = 0 e che IV (β) = 1 Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Tautologie e contraddizioni Definizioni: ♦ Una formula proposizionale α è soddisfatta da una valutazione booleana IV se IV (α) = 1. ♦ Una formula proposizionale α è soddisfacibile se è soddisfatta da una qualche valutazione booleana IV . ♦ Una formula proposizionale α è una tautologia se è soddisfatta da ogni valutazione booleana IV . ♦ Una formula proposizionale α è una contraddizione se non è soddisfatta da nessuna valutazione booleana IV . Una formula α è una tautologia se e solo se ¬α è una contraddizione. Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Esempi ♦ α = A ∨ (¬A) è una tautologia A ¬A A ∨ ¬A 1 0 1 0 1 1 ♦ β = A ∧ (¬A) è una contraddizione A ¬A A ∧ ¬A 1 0 0 0 1 0 ♦ Con riferimento all’esempio precedente dei tre amici in pizzeria: la formula A ∧ B ∧ C è soddisfacibile (ma non è una tautologia) Infatti la formula è vera quando tutti e tre vanno in pizzeria, cioè per la valutazione V per cui A = B = C = 1 abbiamo IV (A ∧ B ∧ C) = 1. Inoltre per ogni altra valutazione V 0, V 0 6= V abbiamo che IV 0 (A∧B∧C) = 0 Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Equivalenza logica Definizioni: ♦ α implica logicamente β (denotato α ⇒ β) se e solo se per ogni valutazione booleana IV , ogniqualvolta IV (α) = 1 anche IV (β) = 1. ♦ Esercizio: α implica logicamente β (denotato α ⇒ β) se e solo α → β è una tautologia ♦ α e β sono logicamente equivalenti o tautologicamente equivalenti (denotato α ≡ β) se e solo se IV (α) = IV (β) per ogni valutazione booleana IV . ♦ Esercizio: α e β sono logicamente equivalenti o tautologicamente equivalenti (denotato α ≡ β) se e solo α implica logicamente β e β implica logicamente α Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Altri connettivi: 1 ♦ Siamo in grado di rappresentare la congiunzione e la disgiunzione di proposizioni, ma siamo in grado di denotare la nozione di implicazione tra proposizioni ? • Il fatto che una proposizione α implica un’altra β viene denotato con α→β • Quale è il suo operatore (tabella di verità ) Op→ ? α 1 Op→: 1 0 0 β α→β 1 1 0 0 1 1 0 1 ♦ NOTA: Nel caso in cui l’antecedente (α) dell’implicazione sia falso, l’implicazione è vera. Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Altri connettivi: 2 ♦ Possiamo ora introdurre anche l’operatore α ↔ β, che denota la relazione che le due formule (α e β) si implicano vicendevolmente (α → β e β → α). Il conseguente operatore Op↔ è cosı̀ definito: α 1 Op↔: 1 0 0 β α↔β 1 1 0 0 1 0 0 1 Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Definibilità di connettivi Dato un insieme di connettivi C e un connettivo c 6∈ C per cui si abbia una funzione di verità fc = Opc, si dice che c si deriva dai (oppure si definisce in termini dei) connettivi di C se esiste una formula proposizionale F costruita usando solo i connettivi di C tale che fc ≡ fF . Esempio: Il connettivo ∧ si può definire in termini di {¬, ∨} nel seguente modo: (α ∧ β) ≡ ¬(¬α ∨ ¬β). Infatti si può facilmente verificare che per ogni valore di α e β le due funzioni α ∧ β e ¬(¬α ∨ ¬β) hanno lo stesso valore. α 1 1 0 0 β ¬α ¬β ¬α ∨ ¬β ¬(¬α ∨ ¬β) α ∧ β 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 0 1 1 1 0 0 Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Definibilità di connettivi: esempi (α → β) (α ∨ β) (α ∨ β) (α ∧ β) (α ∧ β) ¬α ⊥ (α ↔ β) ≡ ≡ ≡ ≡ ≡ ≡ ≡ ≡ (¬α ∨ β) (¬α → β) ¬(¬α ∧ ¬β) ¬(¬α ∨ ¬β) (((α → ⊥) → ⊥) → (β → ⊥)) → ⊥ α→⊥ α ∧ ¬α (α → β) ∧ (β → α) Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Precedenza operatori ♦ la massima precedenza a ¬, poi, nell’ordine, ai connettivi ∧,∨, →, ↔. ♦ Esempi La formula ¬α ∧ ¬β viene parentetizzata come ((¬α) ∧ (¬β)). La formula α ∧ β ∨ γ viene parentetizzata come ((α ∧ β) ∨ γ). La formula ¬α ∧ ¬β → γ ∧ δ ∧ viene parentetizzata come (((¬α) ∧ (¬β)) → (γ ∧ (δ ∧ ))). La formula ¬α ∧ (¬β → γ) ∧ δ ∧ viene parentetizzata come ((¬α) ∧ ((¬β) → γ) ∧ (δ ∧ )). Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Leggi 1 La definizione dei connettivi implica diverse equivalenze logiche che sono valide per ogni formula α e β 1. Idempotenza: α∧α ≡ α α∨α ≡ α 2. Associatività: α ∧ (β ∧ γ) ≡ (α ∧ β) ∧ γ α ∨ (β ∨ γ) ≡ (α ∨ β) ∨ γ α ↔ (β ↔ γ) ≡ (α ↔ β) ↔ γ 3. Commutatività: α∧β ≡ β∧α α∨β ≡ β∨α α↔β ≡ β↔α Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Leggi 2 1. Distributività: α ∧ (β ∨ γ) ≡ (α ∧ β) ∨ (α ∧ γ) α ∨ (β ∧ γ) ≡ (α ∨ β) ∧ (α ∨ γ) 2. Assorbimento: α ∧ (α ∨ β) ≡ α α ∨ (α ∧ β) ≡ α 3. Doppia negazione: ¬¬α ≡ α 4. Leggi di De Morgan: ¬(α ∧ β) ≡ ¬α ∨ ¬β ¬(α ∨ β) ≡ ¬α ∧ ¬β Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Leggi 3 1. Terzo escluso: α ∨ ¬α ≡ > 2. Contrapposizione: α → β ≡ ¬β → ¬α 3. Contraddizione: α ∧ ¬α ≡ ⊥. ♦ Queste leggi si possono verificare costruendo una tabella di verità e verificare che per ogni valore delle variabili otteniamo i valori delle due funzioni a destra e a sinistra di ≡ sono uguali Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Funzioni booleane e insiemi di connettivi Definizione: Sia α una formula contenente esattamente n atomi distinti A1, A2, . . . , An; la funzione fα : {0, 1}n 7→ {0, 1} tale che fα(v1, v2, . . . , vn) = IV (α) dove V è l’interpretazione per cui V(Ai) = vi per ogni i = 1, 2, . . . , n è detta la funzione di verità (o funzione booleana) associata ad α. Quindi, ogni proposizione del calcolo proposizionale definisce una funzione n-aria (o connettivo n-ario), dove n è il numero degli atomi distinti che in essa compaiono. 2n Per ogni n esistono 2 funzioni booleane distinte (cioè tante quanti sono i sottoinsiemi di {0, 1}n). Nel caso di n = 2 esistono 16 connettivi distinti. Noi ne abbiamo introdotti 4, non indipendenti, nel senso che alcuni sono esprimibili in termini di altri. Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Completezza di insiemi di connettivi ♦ Un insieme di connettivi logici C si dice completo se e solo se, data una qualunque f : {0, 1}n 7→ {0, 1} esiste una formula proposizionale α costruita mediante i connettivi dell’insieme C tale che f ≡ fα. ♦ Teorema: L’insieme {¬, ∧, ∨} è completo. Prova: in due passi 1. Usando ¬ e ∧ si può dimostrare come realizzare una funzione di n variabili che è sempre falsa tranne per un singola assegnazione di valori di verità . 2. Data una funzione f che è 1 per k diversi valori di verità (V 1, V 2, ..., V k ), utilizzando il passo 1 precedente per ogni i, i = 1, 2, ..k si definisce la funzione fi che è 1 per V i ed è sempre 0 altrimenti. La funzione f è data da: f1 ∨ f2 ∨ ... ∨ fk . Esercizi: Mostrare che gli insiemi {¬, ∧}, {¬, ∨} , {nand} e {nor} sono completi. Sugg. Il teorema precedente afferma che {¬, ∧, ∨} è completo. Pertanto è sufficiente mostrare come realizzare l’insieme di operatori {¬, ∧, ∨} Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Esempio 1 ♦ Tre amici, Antonio, Bruno e Corrado, sono incerti se andare in pizzeria. Introduciamo tre proposizioni: A : Antonio va in pizzeria, B: Bruno va in pizzeria, C: Carla va in pizzeria (A è 1 se Anotnio va in pizzeria, 0 altrimenti) ♦ Si sa che: Se Carla va in pizzeria, allora ci va anche Antonio: C→A e Se Antonio va in pizzeria allora ci va anche Bruno: A→B Formalmente abbiamo la formula: (C → A) ∧ (A → B) ♦ Consideriamo ora le asserzioni 1. Tutti e tre vanno in pizzeria: equivale a α = A ∧ B ∧ C 2. Se Carla va in pizzeria anche Bruno va in pizzeria: β = C → B Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Esempio 1 ♦ Domanda 1: Sapere che se Carla va in pizzeria ci va anche Antonio e che se Antonio va in pizzeria ci va anche Bruno, è sufficiente per affermare che Tutti e tre vanno in pizzeria? Formalmente ci chiediamo se (C → A) ∧ (A → B) implica logicamente A∧B∧C ♦ Risposta: No (C → A) ∧ (A → B) NON implica logicamente A ∧ B ∧ C. Infatti Consideriamo V per cui A = B = C = 0 Con questa assegnazione (C → A) ∧ (A → B) è soddisfatta. Infatti IV (C → A) = 1 (infatti se C = 0 l’implicazione C → A è vera) analogamente IV (A → B) = 1 Quindi IV ((C → A) ∧ (A → B)) = 1 Poiché IV (A ∧ B ∧ C) = 0 concludiamo che (C → A) ∧ (A → B) NON implica logicamente A ∧ B ∧ C Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Esempio 1, cont. ♦ Dimostrare che (C → A) ∧ (A → B) implica logicamente A ∧ B ∧ C equivale a dimostrare che la seguente formula è una tautologia [(C → A) ∧ (A → B)] → (A ∧ B ∧ C) (*) ♦ La formula (*) è soddisfacibile ma non è una tautologia. Infatti abbiamo visto che la valutazione V per cui A = B = C = 0 soddisfa (C → A) ∧ (A → B) è ma (A ∧ B ∧ C) non è soddisfatta. ♦ Se consideriamo V 0 per cui A = B = C = 1 possiamo verificare che la formula (*) è soddisfatta. Infatti è sufficiente osservare che A ∧ B ∧ C è soddisfatta e, quindi, anche IV 0 [((C → A) ∧ (A → B)) → (A ∧ B ∧ C)] = 1 ♦ In conclusione possiamo affermare che Sapere che se Carla va in pizzeria ci va anche Antonio e che se Antonio va in pizzeria ci va anche Bruno, non implica logicamente che tutti e tre siano andati in pizzeria, ma possiamo dire che è possibile che tutti e tre siano andati in pizzeria Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Esempio 2 ♦ Domanda 2: sapere che se Carla va in pizzeria ci va anche Antonio e che se Antonio va in pizzeria ci va anche Bruno, è sufficiente per affermare che Se Carla è andata in pizzeria anche Bruno è andato in pizzeria? Formalmente ci chiediamo se (C → A) ∧ (A → B) implica logicamente C→B ♦ Risposta: SI A questo scopo possiamo ricostruire una tabella che verifica il valore della formula per tutte le possbili assegnazioni di valori ad A, B e C. In questo modo dobbiamo verificare che la formula sia vera per 23 = 8 possibili valori di verità . Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela A 0 1 0 1 0 1 0 1 B 0 0 1 1 0 0 1 1 C C → A A → B (C → A) ∧ (A → B) C → B 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 0 1 1 1 1 1 0 1 0 0 1 1 0 0 0 1 0 1 0 1 1 1 1 1 1 E’ facile vedere che ogni qualvolta IV (C → B = 1) abbiamo che IV (C → A) ∧ (A → B) = 1 Si noti inoltre che quando IV (C → A) ∧ (A → B) = 0 allora IV (C → B può essere 1 o 0 Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Esempio, cont. 2 ♦ Possiamo pertanto rispondere alla Domanda 2: sapere che se Carla va in pizzeria ci va anche Antonio e che se Antonio va in pizzeria ci va anche Bruno, è logicamente equivalente a Se Carla è andata in pizzeria anche Bruno è andato in pizzeria ♦ Abbiamo visto che (C → A) ∧ (A → B) implica logicamente C → B Questa proprietà è nota come transitività dell’implicazione ♦ Si noti la somiglianza con il sillogismo su Socrate • Se A implica B • e B implica C • allora possiamo affermare che A implica C Nota: La differenza è che nel caso del sillogismo su Socrate la prima affermazione non è una formula atomica ma riguarda un insieme di atomi (Tutti gli uomini sono mortali) Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Esempio 2, cont. ♦ Possiamo pertanto rispondere alla Domanda 2: sapere che se Carla va in pizzeria ci va anche Antonio e che se Antonio va in pizzeria ci va anche Bruno, è è logicamente equivalente a Se Carla è andata in pizzeria anche Bruno è andato in pizzeria ♦ Dobbiamo dimostrare se (C → A) ∧ (A → B) ≡ (C → B) Abbiamo visto che (C → A) ∧ (A → B) ⇒ C → B L’equivalenza è vera se vale anche la seguente implicazione (C → B) ⇒ ((C → A) ∧ (A → B)) Consideriamo V = (A = 1, B = 0, C = 0). Abbiamo IV (C → B) = 1, ma IV (A → B) = 0. Quindi (C → B) non implica logicamente ((C → A) ∧ (A → B)) Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela