Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio...
Transcript of Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio...
Fondamenti di Informatica 2
Linguaggi e Complessita : Logica I Parte
Lucidi di M.Schaerf e A.Marchetti Spaccamela
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 1
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 Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 2
Logica: Motivazioni
♦ La LOGICA e la disciplina che studia le condizioni di correttezza delragionamento
♦ Occorre dire, anzitutto, quale oggetto riguardi ed a quale disciplina spettila presente indagine, che essa cioe riguarda la dimostrazione e spetta allascienza dimostrativa: in seguito, bisogna precisare cosa sia la premessa, cosasia il termine, cosa sia il sillogismo... [Aristotele]
♦ Esempio di sillogismo (sillogismo = connessione di idee, ragionamento)
• Tutti gli uomini sono mortali
• Socrate e un uomo
• Socrate e mortale
EquivalentementeDato che Tutti gli uomini sono mortali e che Socrate e un uomo possiamoconcludere che Socrate e mortale
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 3
Logica: Motivazioni
♦ Non tutti i sillogismi sono validi. Ad esempio
• Tutti gli animali sono mortali
• Socrate e mortale
• Socrate e 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 logicamentedalle 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 nellalogica proposizionale
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 4
Cosa e una dimostrazione, una prova astuta
♦ Cosa e un teorema in matematica?Teorema di Pitagora: Se a, b, c sono lati di un triangolo rettangolo alloraa2 + 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 Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 5
Cosa e una dimostrazione, una prova astuta
♦ Teorema di Pitagora: Se a, b, c sono lati di un triangolo rettangolo alloraa2 + b2 = c2
- 4 triangoli rettangoli con cateti lunghi a e b e un quadrato con lato lungob− a hanno area complessiva pari a c2
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 6
Cosa e una dimostrazione, una prova astuta-2
♦ Teorema di Pitagora: Se a, b, c sono lati di un triangolo rettangolo alloraa2 + b2 = c2
- 4 triangoli rettangoli con cateti lunghi a e b e un quadrato con lato lungoa hanno area complessiva pari a a2 + b2. Quindi c2 = a2 + b2!
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 7
Una dimostrazione sbagliata
♦ Consideriamo la seguente sequenza di uguaglianze:
1 =√1 =
√(−1)(−1) =
√(−1)
√(−1) = (
√(−1))2 = −1
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 8
Conseguenze di una dimostrazione sbagliata
♦ Consideriamo la seguente sequenza di uguaglianze:
1 =√1 =
√(−1)(−1) =
√(−1)
√(−1) = (
√(−1))2 = −1
♦ Dopo aver dimostrato che 1 = −1 otteniamo anche• 1
2 = −12 (moltiplica per 1
2 i membri della uguagl. precedente)• 2 = 1 (somma 3
2 ad ambedue i termini dell’uguagl. precedente)
♦ Conseguenze di 2 = 1Dato che io e il Papa siamo chiaramente 2 possiamo concludere che io e ilPapa siamo 1, cioe io e il Papa siamo la stessa persona ed io sono il Papa![Bertrand Russel]
♦ Morale:Le conseguenze di una prova sbagliata possono essere paradossaliperche una prova errata permette di fare affermazioni chiaramente errate!
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 9
Logica: Motivazioni
♦ La LOGICA e la disciplina che studia le condizioni di correttezza delragionamento
♦ Occorre dire, anzitutto, quale oggetto riguardi ed a quale disciplina spettila presente indagine, che essa cioe riguarda la dimostrazione e spetta allascienza dimostrativa: in seguito, bisogna precisare cosa sia la premessa, cosasia il termine, cosa sia il sillogismo... [Aristotele]
♦ Noi ci limiteremo alla Logica ProposizionaleNota anche come Calcolo Proposizionale ci permette di ragionare sulla veritadi semplici proposizioni
♦ Obiettivo
• Formalizzare i nostri ragionamenti (limitandoci alle proposizioni)
• Esaminare le regole che ci permettono di stabilire la verita o la falsita diuna affermazione
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 10
Logica e informatica
♦ Nel XIX secolo sono state in matematica sono state proposte notazionimatematiche (algebriche) per trattare le operazioni della logica (GeorgeBoole)
♦ Questo ha consentito, negli anni 1900-1930, di applicare la logica aifondamenti della matematica, arrivando a interessanti controversie e a capirei limiti della matematica (Frege, Russel, Godel ed altri)
♦ In matematica, la logica usata principalmente per esprimere asserti inmodo non ambiguo
♦ La logica matematica ha profondi legami con linformatica (ed in partico-lare nella programmazione e in intelligenza artificiale
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 11
Logica proposizionale
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 12
Logica proposizionale
♦ Linguaggio matematico per ragionare sulla verita o falsita di proposizioni
♦ Composto da una sintassi (regole per costruire le frasi) e da una semantica(regole per assegnare un significato)
♦ Esempio di frase
• piove, fa-caldo, fa-caldo∧(e)¬(non)piove, piove∨(o)sole
• costituito da proposizioni atomiche (piove, fa-caldo, sole . . .) e da propo-sizioni complesse (fa-caldo ∧ ¬piove, piove ∨ sole . . .)
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 13
Logica proposizionale: Alfabeto
♦ Linguaggio matematico per ragionare sulla verita o falsita 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 falsoFALSE);
• I connettivi (detti anche operatori) proposizionali ¬ (unario), ∧ e ∨ (bi-nari);
• I simboli separatori ‘(’ e ‘)’.
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 14
Logica proposizionale: Formule
♦ Formule (dette anche proposizioni)
L’insieme Prop delle formule ben formate o formule del linguaggio propo-sizionale e l’insieme definito induttivamente come segue:
1. Le costanti e i simboli proposizionali sono formule;
2. Se α e una formula (¬α) e una formula;
3. Se α e β sono due formule, (α ∧ β) e (α ∨ β) sono formule.
Nel seguito useremo la convenzione di denotare i simboli proposizionali conle lettere maiuscole (A, B, . . .) e le formule proposizionali con le letteregreche minuscole (α, β, . . . ).
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 15
Semantica: Sistema di valutazione
♦ Definiamo il dominio e gli operatori che ci permetteranno di dare unasemantica (significato) alle nostre proposizioni.
♦ Il sistema di valutazione della logica proposizionale e costituito daldominio B= {0, 1}, dove il simbolo 1 denota il valore di verita e 0 il valore difalsita ed un insieme di operatori (tabelle di verita ) su questo dominio Op={Op¬,Op∧,Op∨} uno per ogni connettivo del linguaggio con Op¬ : B 7→ Be Op∧ e Op∨ : B × B 7→ B. Dove:
- ¬ e l’operatore di negazione logica (not): Op¬(1) = 0 e Op¬(0) = 1
- ∧ l’operatore di congiunzione logica (and)
Op∧:
α β α ∧ β1 1 11 0 00 1 00 0 0
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 16
- ∧ l’operatore di disgiunzione logica (or)
Op∨:
α β α ∨ β1 1 11 0 10 1 10 0 0
♦ Le operazioni ∧ e ∨ sono commutative e associative. Infatti e facilemostrare che per ogni assegnazione ai simboli proposizionali α, β, γ abbiamoche
α ∧ β = β ∧ αα ∨ β = β ∨ α
(α ∧ β) ∧ γ = α ∧ (β ∧ γ)(α ∨ β) ∨ γ = α ∨ (β ∨ γ)
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 17
Semantica: Valutazione booleana
♦ Un’assegnazione booleana V ai simboli proposizionali A e una funzionetotale: V : A 7→ {1, 0}.
♦ Una valutazione booleana IV : Prop 7→ {1, 0} e l’estensione a Propdi un’assegnazione booleana, cioe
IV (A) = V(A) se A ∈ A;IV (>) = 1;
IV (⊥) = 0;
IV (¬α) = Op¬(IV (α));IV (α ∧ β) = Op∧(IV (α), IV (β)).IV (α ∨ β) = Op∨(IV (α), IV (β)).
Data V , si puo facilmente dimostrare che l’estensione IV esiste ed e unica.Notate che e una definizione ricorsiva (ricorsione strutturale).
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 18
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 pizzeriaFormalmente abbiamo l’assegnazione V : A = 0, B = 1, C = 1
♦ Data V valutiamo le formuleα: Tutti e tre sono andati in pizzeria α = A ∧B ∧ C
β: Almeno due sono andati in pizzeria β = (A∧B)∨ (A∧C)∨ (B ∧C)
Applicando le regole mostrare che IV (α) = 0 e che IV (β) = 1
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 19
Tautologie e contraddizioni
Definizioni:♦ Una formula proposizionale α e soddisfatta da una valutazione booleanaIV se IV (α) = 1.
♦ Una formula proposizionale α e soddisfacibile se e soddisfatta da unaqualche valutazione booleana IV .
♦ Una formula proposizionale α e una tautologia se e soddisfatta da ognivalutazione booleana IV .
♦ Una formula proposizionale α e una contraddizione se non e soddisfattada nessuna valutazione booleana IV .
Una formula α e una tautologia se e solo se ¬α e una contraddizione.
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 20
Esempi
♦ α = A ∨ (¬A) e una tautologia
A ¬A A ∨ ¬A1 0 10 1 1
♦ β = A ∧ (¬A) e una contraddizione
A ¬A A ∧ ¬A1 0 00 1 0
♦ Con riferimento all’esempio precedente dei tre amici in pizzeria: la for-mula A ∧B ∧ C e soddisfacibile (ma non e una tautologia)Infatti la formula e vera quando tutti e tre vanno in pizzeria, cioe perl’assegnazione V per cui A = B = C = 1 abbiamo IV (A ∧B ∧ C) = 1.Inoltre per ogni altra assegnazione V ′, V ′ 6= V abbiamo che IV ′(A∧B∧C) =0
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 21
Altri connettivi: 1
♦ Siamo in grado di rappresentare la congiunzione e la disgiunzione diproposizioni, ma siamo in grado di denotare la nozione di implicazione traproposizioni ?
• Il fatto che una proposizione α implica un’altra β viene denotato conα→ β
• Quale e il suo operatore (tabella di verita ) Op→ ?
- → l’operatore di implicazione logicaα β α→ β
1 1 11 0 00 1 10 0 1
♦ NOTA: Nel caso in cui l’antecedente (α) dell’implicazione sia falso,l’implicazione e vera.
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 22
Altri connettivi: 2
♦ Possiamo ora introdurre anche l’operatore α↔ β, che denota la relazioneche le due formule (α e β) si implicano vicendevolmente (α→ β e β → α).Il conseguente operatore Op↔ e cosı definito:
- → l’operatore di co-implicazione logica o equivalenza:α β α↔ β
1 1 11 0 00 1 00 0 1
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 23
Equivalenza logica
Definizioni:
♦ α implica logicamente β (denotato α ⇒ β) se e solo se per ogni valu-tazione booleana IV , ogniqualvolta IV (α) = 1 anche IV (β) = 1.
♦ α e β sono logicamente equivalenti o tautologicamente equivalenti (de-notato α ≡ β) se e solo se IV (α) = IV (β) per ogni valutazione booleanaIV .
♦ Esercizi• α implica logicamente β (denotato α ⇒ β) se e solo α → β e unatautologia
• α e β sono logicamente equivalenti o tautologicamente equivalenti(denotato α ≡ β) se e solo α implica logicamente β e β implica logicamenteα
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 24
Definibilita di connettivi
Dato un insieme di connettivi C e un connettivo c 6∈ C per cui si abbia unafunzione di verita fc = Opc, si dice che c si deriva dai (oppure si definisce intermini dei) connettivi di C se esiste una formula proposizionale F costruitausando solo i connettivi di C tale che le tabelle di verita di fc e fF coincidono
Esempio:Il connettivo ∧ si puo definire in termini di {¬,∨} nel seguente modo:(α ∧ β) ≡ ¬(¬α ∨ ¬β). Infatti si puo facilmente verificare che per ognivalore di α e β le due funzioni α ∧ β e ¬(¬α ∨¬β) hanno lo stesso valore.
α β ¬α ¬β ¬α ∨ ¬β ¬(¬α ∨ ¬β) α ∧ β1 1 0 0 0 1 11 0 0 1 1 0 00 1 1 0 1 0 00 0 1 1 1 0 0
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 25
Definibilita di connettivi: esempi
(α→ β) ≡ (¬α ∨ β)(α ∨ β) ≡ (¬α→ β)
(α ∨ β) ≡ ¬(¬α ∧ ¬β)(α ∧ β) ≡ ¬(¬α ∨ ¬β)(α ∧ β) ≡ (((α→ ⊥)→ ⊥)→ (β → ⊥))→ ⊥¬α ≡ α→ ⊥⊥ ≡ α ∧ ¬α
(α↔ β) ≡ (α→ β) ∧ (β → α)
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 26
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 Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 27
Leggi 1
La definizione dei connettivi implica diverse equivalenze logiche che sonovalide per ogni formula α e β
1. Idempotenza:
α ∧ α ≡ α
α ∨ α ≡ α
2. Associativita:
α ∧ (β ∧ γ) ≡ (α ∧ β) ∧ γα ∨ (β ∨ γ) ≡ (α ∨ β) ∨ γ
α↔ (β ↔ γ) ≡ (α↔ β)↔ γ
3. Commutativita:
α ∧ β ≡ β ∧ αα ∨ β ≡ β ∨ αα↔ β ≡ β ↔ α
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 28
Leggi 2
1. Distributivita:
α ∧ (β ∨ γ) ≡ (α ∧ β) ∨ (α ∧ γ)α ∨ (β ∧ γ) ≡ (α ∨ β) ∧ (α ∨ γ)
2. Assorbimento:
α ∧ (α ∨ β) ≡ α
α ∨ (α ∧ β) ≡ α
3. Doppia negazione:
¬¬α ≡ α
4. Leggi di De Morgan:
¬(α ∧ β) ≡ ¬α ∨ ¬β¬(α ∨ β) ≡ ¬α ∧ ¬β
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 29
Leggi 3
1. Terzo escluso:
α ∨ ¬α ≡ >
2. Contrapposizione:
α→ β ≡ ¬β → ¬α
3. Contraddizione:
α ∧ ¬α ≡ ⊥.
♦ Queste leggi si possono verificare costruendo una tabella di verita e veri-ficare che per ogni valore delle variabili otteniamo i valori delle due funzionia destra e a sinistra di ≡ sono uguali
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 30
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 e l’assegnazione per cui V(Ai) = vi per ogni i = 1, 2, . . . , n e dettala funzione di verita (o funzione booleana) associata ad α.
Quindi, ogni proposizione del calcolo proposizionale definisce una funzionen-aria (o connettivo n-ario), dove n e il numero degli atomi distinti che inessa compaiono.
Per ogni n esistono 22n funzioni booleane distinte (cioe tante quanti sono isottoinsiemi di {0, 1}n).
Nel caso di n = 2 esistono 16 connettivi distinti. Noi ne abbiamo introdotti4, non indipendenti, nel senso che alcuni sono esprimibili in termini di altri.
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 31
Completezza di insiemi di connettivi
♦ Un insieme di connettivi logici C si dice completo se e solo se, datauna 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 {¬,∧,∨} e completo.Prova: in due passi1. Usando ¬ e ∧ si puo dimostrare come realizzare una funzione di n variabiliche e sempre falsa tranne per un singola assegnazione di valori di verita .2. Data una funzione f che e 1 per k diversi valori di verita (V1,V2, ...,Vk),utilizzando il passo 1 precedente per ogni i, i = 1, 2, ..k si definisce lafunzione fi che e 1 per V i ed e sempre 0 altrimenti. La funzione f e datada: f1 ∨ f2 ∨ ... ∨ fk.
Esercizi:Mostrare che gli insiemi {¬,∧}, {¬,∨} , {nand} e {nor} sono completi.Sugg. Il teorema precedente afferma che {¬,∧,∨} e completo. Pertanto esufficiente mostrare come realizzare l’insieme di operatori {¬,∧,∨}
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 32
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 e 1 se Anotnio va in pizzeria, 0 altrimenti)
♦ Si sa che:Se Carla va in pizzeria, allora ci va anche Antonio: C → AeSe Antonio va in pizzeria allora ci va anche Bruno: A→ BFormalmente abbiamo la formula: (C → A) ∧ (A→ B)
♦ Consideriamo ora le asserzioni1. Tutti e tre vanno in pizzeria: equivale a α = A ∧B ∧ C2. Se Carla va in pizzeria anche Bruno va in pizzeria: β = C → B
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 33
Esempio 1
♦ Domanda 1:Sapere che se Carla va in pizzeria ci va anche Antonio e che se Antonio vain pizzeria ci va anche Bruno, e sufficiente per affermare cheTutti e tre vanno in pizzeria?
Formalmente ci chiediamo se (C → A) ∧ (A → B) implica logicamenteA ∧B ∧ C
♦ Risposta: No(C → A) ∧ (A→ B) NON implica logicamente A ∧B ∧ C. Infatti
Consideriamo V per cui A = B = C = 0Con questa assegnazione (C → A) ∧ (A→ B) e soddisfatta. InfattiIV (C → A) = 1 (infatti se C = 0 l’implicazione C → A e vera)analogamente IV (A→ B) = 1Quindi IV ((C → A) ∧ (A→ B)) = 1Poiche IV (A ∧ B ∧ C) = 0 concludiamo che (C → A) ∧ (A → B) NONimplica logicamente A ∧B ∧ CFondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 34
Esempio 1, cont.
♦ Dimostrare che (C → A) ∧ (A→ B) implica logicamente A ∧B ∧ Cequivale a dimostrare che la seguente formula e una tautologia[(C → A) ∧ (A→ B)]→ (A ∧B ∧ C) (*)
♦ La formula (*) e soddisfacibile ma non e una tautologia.Infatti abbiamo visto che la valutazione V per cui A = B = C = 0 soddisfa(C → A) ∧ (A→ B) e ma (A ∧B ∧ C) non e soddisfatta.
♦ Se consideriamo V ′ per cui A = B = C = 1 possiamo verificare che laformula (*) e soddisfatta.Infatti e sufficiente osservare che A ∧ B ∧ C e soddisfatta e, quindi, ancheIV ′[((C → A) ∧ (A→ B))→ (A ∧B ∧ C)] = 1
♦ In conclusione possiamo affermare cheSapere che se Carla va in pizzeria ci va anche Antonio e che se Antonio vain pizzeria ci va anche Bruno, non implica logicamente che tutti e tre sianoandati in pizzeria, ma possiamo dire che e possibile che tutti e tre sianoandati in pizzeria
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 35
Esempio 2
♦ Domanda 2:sapere che se Carla va in pizzeria ci va anche Antonio e che se Antonio vain pizzeria ci va anche Bruno, e sufficiente per affermare cheSe Carla e andata in pizzeria anche Bruno e andato in pizzeria?
Formalmente ci chiediamo se (C → A) ∧ (A → B) implica logicamenteC → B
♦ Risposta: SIA questo scopo possiamo ricostruire una tabella che verifica il valore dellaformula per tutte le possbili assegnazioni di valori ad A, B e C. In questomodo dobbiamo verificare che la formula sia vera per 23 = 8 possibili valoridi verita .
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 36
A B C C → A A→ B (C → A) ∧ (A→ B) C → B
0 0 0 1 1 1 11 0 0 1 0 0 10 1 0 1 1 1 11 1 0 1 1 1 10 0 1 0 1 0 01 0 1 1 0 0 00 1 1 0 1 0 11 1 1 1 1 1 1
E’ facile vedere che ogni qualvolta abbiamo che IV ((C → A)∧(A→ B)) =1IV (C → B) =)
Si noti inoltre che quando IV (C → A) ∧ (A→ B) = 0 allora IV (C → Bpuo essere 1 o 0
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 37
Esempio, cont. 2
♦ Possiamo pertanto rispondere alla Domanda 2:sapere che se Carla va in pizzeria ci va anche Antonio e che se Antonio vain pizzeria ci va anche Bruno, e sufficiente per affermare cheSe Carla e andata in pizzeria anche Bruno e andato in pizzeria
♦ Abbiamo visto che (C → A) ∧ (A→ B) implica logicamente C → BQuesta proprieta e nota come transitivita 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 e che nel caso del sillogismo su Socrate la prima affer-mazione non e una formula atomica ma riguarda un insieme di atomi (Tuttigli uomini sono mortali)
Fondamenti di Informatica 2, Linguaggi e Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 38
Esempio 2, cont.
♦ Domanda 3:sapere che se Carla va in pizzeria ci va anche Antonio e che se Antonio vain pizzeria ci va anche Bruno, e e logicamente equivalente aSe Carla e andata in pizzeria anche Bruno e andato in pizzeria
♦ Dobbiamo dimostrare se (C → A) ∧ (A→ B) ≡ (C → B)Abbiamo visto che (C → A) ∧ (A→ B)⇒ C → BL’equivalenza e 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 Complessita : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 39