49
Fondamenti di Informatica 2 Linguaggi e Complessit ` a : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela Fondamenti di Informatica 2, Linguaggi e Complessit`a : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela

Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Fondamenti di Informatica 2

Linguaggi e Complessita : Logica, II Parte

Lucidi di M.Schaerf e A.Marchetti Spaccamela

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 1

Page 2: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Semantica e dominio di interpretazione

♦ La sintassi di un linguaggio determina la forma delle espressioni correttenel linguaggio. La semantica assegna un significato alle espressioni sintatti-camente corrette di tale linguaggio.

♦ Nel caso della logica proposizionale abbiamo visto che una proposizioneatomica puo essere vera o falsa. Il significato dei connettivi e stato stabilitodefinendo il valore di verita di proposizioni complesse a partire da quello deiloro componenti.

♦ Pertanto il valore di verita di una formula α, α ∈ Prop dipende dalsignificato (il valore di verita ) degli atomi proposizionali in α. Per stabilireil significato di una formula proposizionale occorre assegnare un valore diverita a ciascuna variabile proposizionale.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 2

Page 3: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Modelli

La verita o falsita di una formula in M costituisce la sua interpretazionesecondo M, ed e cosı definita

DefinizioneSia M ⊆ A un insieme di simboli proposizionali, definiamo la relazione|= ⊆ (M×Prop) ricorsivamente come segue:

1.M |= > “ogni” insieme di simboli e un modello di >2.M 6|= ⊥ “nessun” insieme di simboli e un modello di ⊥; (piu formalmente,

(x,⊥) /∈|=, per ogni x ∈M);

3.M |= A se e solo se A ∈M;

4.M |= ¬α se e solo se non (M |= α) ovvero, se e solo se M 6|= α;

5.M |= α ∧ β se e solo se M |= α e M |= β;

6.M |= α ∨ β se e solo se M |= α oppure M |= β;

7.M |= α→ β se e solo se M 6|= α oppure M |= β;

8.M |= α↔ β se e solo seM |= α eM |= β, oppureM 6|= α eM 6|= β.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 3

Page 4: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Modelli

♦ La definizione precedente afferma che

• Se M |= α indica che α e vera in M, cioe che se sono veri i simbolicontenuti in M allora α e vera, cioe il significato di α in M e > (inquesto caso si dice che M e un modello di α)

• Altrimenti α e falsa in M e scriviamo M 6|= α

♦ Osservazioni• L’interpretazione di una formula dipende dall’interpretazione dell’insiemeA dei simboli proposizionali che occorrono in essa

• Una volta fissata un’interpretazioneM perA, risulta definita l’interpretazionedi qualsiasi formula in α ∈ Prop in base al significato delle lettere propo-sizionali che occorrono in essa e al significato dei connettivi logici.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 4

Page 5: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Modelli

♦ Sia α una formula, seM |= α diciamo cheM e un modello di α, ovveroche M rende vera α.

♦ Se α e una tautologia, scriviamo |= α (ogni modello rende vera α).

♦ Se M |= α per qualche M, allora diciamo che α e soddisfacibile.

♦ Se per nessun insieme di simboli proposizionaliM e verificato cheM |=α allora diciamo che α e insoddisfacibile.Equivalentemente una formula e insoddisfacibile se e solo se per essa nonesiste un modello.

♦ La definizione di |= di fatto stabilisce il significato dei connettivi logici.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 5

Page 6: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esempi

1. La formula A ∧B ha {A,B} come modello, dunque e soddisfacibile.

2. La formula A ∧ ¬B ha {A} come modello.

3. La formula A ∧ ¬A non ha alcun modello, dunque non e soddisfacibile

4. La formula A → B ha {}, {B} e {A,B} come modelli; mentre {A}non e un modello.

5. La formula A ∨B ha {A}, {B} e {A,B} come modelli.

6. Calcolare il valore di verita di P = (¬A ∨ B) → C nell’interpretazioneM tale che M(A) = M(B) = > e M(C) = ⊥. Procediamo comesegue: M |= (¬A ∨B)→ C se e solo seM 6|= (¬A ∨B) oppure M |= C se e solo seM 6|= (¬A ∨B) (perche M(C) = ⊥ , quindi M 6|= C) se e solo seM 6|= ¬A e M 6|= B se e solo seM |= A e M(B) = ⊥ se e solo seM(A) = > e M(B) = ⊥PoicheM(B) = ⊥ e falso possiamo affermare cheM 6|= (¬A∨B)→ C

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 6

Page 7: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Proprieta

♦ Se α implica logicamente β, allora la formula α→ β e una tautologia equindi vale |= α→ β

♦ Dato un insieme di proposizioni Γ e una proposizione α, diciamo che Γimplica logicamente α e scriviamo Γ |= α se e solo se tutti i modelli di Γsono anche modelli di α.

♦ Se α e logicamente equivalente a β, cioe se α ≡ β, allora la formulaα↔ β e una tautologia e quindi vale |= α↔ β.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 7

Page 8: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Notazioni

♦ Se M rende vere tutte le formule di un insieme Γ, cioe se M |= γ, perogni formula γ in Γ, diciamo cheM e un modello per Γ e indichiamo questocon M |= Γ.

♦ Data una formula α, indichiamo con Mod(α) l’insieme dei modelli di α,

Mod(α) = {M | M |= α}

♦ Dato un insieme di proposizioni Γ, i modelli di Γ sono i modelli che nesoddisfano tutte le formule,

Mod(Γ) = {M | ∀γ ∈ Γ M |= γ}

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 8

Page 9: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Proprieta dei modelli

Data una formula γ = ¬α, l’insieme dei modelli di γ e

Mod(γ) = Mod(α)

Data una formula γ = α ∧ β, l’insieme dei modelli di γ e

Mod(γ) = Mod(α) ∩Mod(β)

Data una formula γ = α ∨ β, l’insieme dei modelli di γ e

Mod(γ) = Mod(α) ∪Mod(β)

Data una formula γ = α→ β, l’insieme dei modelli di γ e

Mod(γ) = Mod(α) ∪Mod(β)

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 9

Page 10: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Implicazione logica e insoddisfacibilita

Il seguente importante teorema lega le nozioni di implicazione logica e diinsoddisfacibilita :

Teorema Γ |= α se e solo se Γ ∪ {¬α} e insoddisfacibile.

Dimostrazione (⇒)Supponiamo Γ |= α, ma Γ∪{¬α} soddisfacibile. Allora esiste un modelloMtale che M |= Γ e M |= ¬α, contraddicendo la definizione di implicazionelogica.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 10

Page 11: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Implicazione logica e insoddisfacibilita

Teorema Γ |= α se e solo se Γ ∪ {¬α} e insoddisfacibile.

Dimostrazione (⇐)Supponiamo che Γ ∪ {¬α} sia insoddisfacibile, consideriamo le seguentiaffermazioni ciascuna delle quali deriva dalla precedente

1. non esiste un modelloM tale cheM verifica entrambi gli assertiM |= Γe M |= ¬α;

2. per ogni modello M, M non verifica entrambi gli asserti M |= Γ eM |= ¬α;

3. per ogni modello M, M 6|= Γ oppure M 6|= ¬α;

4. per ogni modello M, M |= Γ implica M 6|= ¬α;

5.M 6|= ¬α se e solo se M |= α;

6. per ogni modello M, M |= Γ implica M |= α;

7. Γ |= α.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 11

Page 12: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esempio

Verifichiamo che se A ∧B |= B allora {A ∧B} ∪ {¬B} e insoddisfacibile.

Sia M = {A,B}, ogni modello M′ che contiene M e un modello diA ∧B e, ovviamente, un modello di B.Si osservi che M∗ = {B} e un modello di B, ma non e un modello diA ∧B. Piu in generale, nessun sottoinsieme proprio di M e un modellodi A∧B; in altre parole possiamo dire cheM e minimale (nel senso chenon esiste un modello equivalente che contiene un sottoinsieme di M).

{A ∧ B} ∪ {¬B}, e equivalente a A ∧ (B ∧ ¬B); e evidente che taleformula non ha modelli.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 12

Page 13: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Decidibilita

♦ Data una formula possiamo stabilire se e una tautologia?Data una formula possiamo stabilire se e soddisfacibile? (Problema SAT )

♦ DefinizioneUn problema e decidibile se esiste un algoritmo che termina sempre e risolveil problema

♦ Data una formula α• Esiste un algoritmo che decide se α e una tautologia• Esiste un algoritmo che decide se α e soddisfacibile

♦ Possiamo pertanto dire che la logica proposizionale e decidibile

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 13

Page 14: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Decidibilita

♦ Data una formula α• Esiste un algoritmo che decide se α e una tautologia• Esiste un algoritmo che decide se α e soddisfacibile

♦ DimostrazioneUn algoritmo che decide se una formula logica sia una tautologia o sia sod-disfacibile e basato sulle tabelle di verita

In particolare data una formula α con n simboli proposizionali l’algoritmoverifica se per ciascun combinazione dei valori di verita dei simboli α sia vera.Pertanto l’algoritmo crea una tabella con 2n righe e per ciascuna calcola ilvalore di verita di α.

La formula e una tautologia se per ciascun valore abbiamo il valore vero, esoddisfacibile se contiene almeno una riga con il valore vero

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 14

Page 15: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Tabelle di verita ridotte

Usiamo nel seguito tabelle di verita ridotte, in cui il valore di verita dell’interaformula e leggibile nella colonna sottostante al suo connettivo principale.

Esempio: Scriviamo la tabella di verita ridotta per P → (Q→ P )

P → Q → P

1 1 1 1 11 1 0 1 10 1 1 0 00 1 0 1 0

Proprieta : α e una tautologia se e solo se la colonna della tabella di verita(sottostante al connettivo principale) contiene solo 1, e soddisfacibile see solo se essa contiene almeno un 1, e contraddittoria se e solo se essacontiene tutti 0.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 15

Page 16: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Complessita

♦ L’algoritmo basato sulle tabelle di verita ha un costo esponenziale nelnumero dei simboli atomici (infatti, se ci sono n simboli atomici abbiamouna tabella con 2n righe)

♦ Questo costo e inaccettabile se n e molto grande. Infatti per valori di ngrandi l’algoritmo non e utilizzabile (ad esempio se n = 100 allora l’algoritmodeve verificare piu di mille miliardi di miliardi di miliardi di righe!)

♦ Domanda:Si puo fare di meglio? E possibile trovare algoritmi polinomiali per risolvereil problema di decisione delle tautologie e della soddisfacibilita del calcoloproposizionale?Risposta:Per ambedue i problemi si conoscono algoritmi migliori di quello basato sulletabelle di verita ma tutti gli algoritmi noti hanno costo esponenziale nelladimensione della formula (cioe il numero di simboli di proposizione distintiche in essa compaiono).

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 16

Page 17: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Tecniche di dimostrazione

♦ Domanda:Esiste la possibilita di dimostrare senza costruire la tabella di verita maragionando sulla formula?Risposta: SI

♦ Dimostrazione per casiCorrisponde all’uso della tautologia: (α⇒ β) ∧ (¬α⇒ β))⇒ β

Ovvero per dimostrare β e sufficiente provare α⇒ β e (¬α)⇒ βInfatti i due casi (α e ¬α) insieme naturalmente garantiscono un contestosempre vero.

♦ Dimostrazione per assurdoCorrisponde all’uso della (ovvia) tautologia (¬p |= ⊥)⇒ p

Ovvero per provare che α⇒ β (α implica β) possiamo dimostrare che¬β |= ¬α ed osservare che α⇒ β ≡ ¬α ∨ β ≡ ¬β ⇒ ¬α

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 17

Page 18: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esempio

♦ E’ stato compiuto un furto. Si sa che:1. sono implicati tre uomini: Antonio, Biagio, Carlo2. i ladri sono fuggiti con un furgone3. Carlo non lavora mai senza la complicita di Antonio4. Biagio non sa guidareCi chiediamo se le informazioni precedenti implicano che Antonio e colpevole?

♦ Formalizziamo le informazioni in un linguaggio proposizionale.- Utilizziamo le variabili proposizionali A,B,C cosı definite:A: Antonio e colpevole, B: Biagio e colpevole, C: Carlo e colpevole- L’informazione (1) si puo formulare con: Almeno uno tra Antonio, Biagioe Carlo e colpevole, quindi: F1 : A ∨B ∨ C- L’informazione (3) e rappresentabile da: F2 : C → A (se Carlo e colpevole,allora Antonio e suo complice)- Infine, la (2) e la (4) assieme si possono riscrivere: Se Biagio e colpevole,allora anche qualcun altro e colpevole, dato che lui non poteva guidare ilfurgone; quindi: F3 : B → (A ∨ C)

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 18

Page 19: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esempio

♦ E’ stato compiuto un furto. Si sa che:1. sono implicati tre uomini: Antonio, Biagio, Carlo2. i ladri sono fuggiti con un furgone3. Carlo non lavora mai senza la complicita di Antonio4. Biagio non sa guidareCi chiediamo se le informazioni precedenti implicano che Antonio e colpevole?

♦ Utilizzando le variabili proposizionali A,B,C definite in precedenza, leinformazioni che abbiamo sono le seguentiF1 : A ∨B ∨ CF2 : C → AF3 : B → (A ∨ C)

♦ Dimostrare che Antonio e colpevole equivale a dimostrare F1, F2, F3 |= A

♦ Approccio 1: Possiamo calcolare la tavola di verita per le formule F1, F2, F3

e verificare se A e vera in ogni riga in cui F1, F2, F3 sono tutte vere. Unavolta costruita la tabella si puo affermare che Antonio e colpevole

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 19

Page 20: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esempio, prova per casi

♦ Possiamo dimostrare la colpevolezza di Antonio ragionando. Lo faremoin due modi diversi.

♦ Approccio 2: prova per casiDall’ipotesi che A ∨ B ∨ C sia vera in M ci sono tre possibili casi: oe colpevole Antonio, oppure e colpevole Biagio oppure e colpevole Carlo.Dimostriamo allora che in tutti e tre i casi Antonio e colpevole.

caso 1. Se e vero A, banalmente segue che Antonio e colpevole

caso 2. Se e vero B, allora, per F3, e vero anche A∨C; di nuovo, ragioniamoper sottocasi: o e vero A oppure e vero C: Se C e vero per F2 : C → A(2), allora anche A e vero. Quindi possiamo concludere che, nel caso 2, Ae comunque vero.

caso 3. Se e vero C, poiche e vero anche C → A, allora e vero A.In ogni possibile caso si ha dunque che A e vero. Se ne conclude allora cheAntonio e colpevole.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 20

Page 21: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esempio, prova per contraddizione

♦ Approccio 3: prova per contraddizione

♦ Assumiamo che Antonio sia innocente e sia M un modello in cui sonovere F1, F2, F3 , cioe(1) M |= A ∨B ∨ C(2) M |= C → A(3) M |= B → (A ∨ C)e tuttavia(4) M 6|= A, cioe M non implica che Antonio sia colpevole

- Dati (1)-(4) da (2) e (4) la semantica di → implica (5) M 6|= C- da (4) e (5) segue (6) M 6|= A ∨ C- da (3) e (6) la semantica di → implica (7) M 6|= BInfine da (4), (5) e (7) segue (8) M 6|= A ∨B ∨ C contraddicendo (1).Poiche assumere l’innocenza di Antonio porta a una contraddizione con leinformazioni date, se ne deduce che Antonio e colpevole.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 21

Page 22: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Sistema assiomatico hilbertiano

♦ Domanda:Esiste la possibilita di dimostrare se una formula α sia una tautologia usandoun insieme fissato di regole? (cioe senza costruire la tabella di verita eutilizzando ripetutamente regole prefissate)

Risposta: SI

♦ Introduciamo un sistema di deduzione per la logica proposizionale, chiam-ato hilbertiano

♦ Il sistema assiomatico hilbertiano e basato sulla definizione di 3 schemidi assiomi e di 2 regole di inferenza, chiamate Modus Ponens (MP) e Sosti-tuzione Uniforme (SU)

♦ La verita di una formula viene definita attraverso la nozione di derivazione.

♦ Vedremo che e sufficiente applicare queste regole per dimostrare se unaformula α e una tautologia

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 22

Page 23: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Definizione dei connettivi

♦ Il sistema assiomatico di Hilbert utilizza solo ¬ e →, gli altri connettivipossono essere introdotti definendoli a partire da questi due.

♦ Infatti si puo facilmente verificare che

1. α ∧ β =Def ¬(α→ ¬β);

2. α ∨ β =Def ¬α→ β;

3. α↔ β =Def (α→ β) ∧ (β → α).

♦ Quindi una qualunque formula del cacolo proposizionale e equivalente aduna formula che usa solo ¬ e →

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 23

Page 24: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Sostituzione

♦ Data una formula α in cui non compare il simbolo p con β[α/p] denotiamola formula β in cui ogni occorrenza di p e sostituita da α

♦ Esempiodata β = (A ∧B) e α = C → D abbiamo β[α/B] = (A ∧ (C → D))

♦ Proprieta della sostituzioneSiano α[p], γ e δ formule proposizionali e sia IV una valutazione booleana.Se IV (γ) = IV (δ) allora IV (α[γ/p]) = IV (α[δ/p]).Se γ ≡ δ allora per ogni valutazione booleana α[γ/p] ≡ α[δ/p].

EsempioSi consideri l’equivalenza tautologica (A→ B) ≡ (¬A ∨B).Sia α[p] = (p→ (α ∨ β)). Si puo facilmente verificare che

((A→ B)→ (α ∨ β)) ≡ ((¬A ∨B)→ (α ∨ β)).

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 24

Page 25: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Schemi di assioma e regole di inferenza

♦ Schemi di assioma (Nota bene: α, β e γ denotano formule generiche)

1. (α→ (β → α));

2. ((α→ (β → γ))→ ((α→ β)→ (α→ γ))) ;

3. ((β → ¬α)→ ((β → α)→ ¬β)).

♦ Regole di Inferenza

•Modus Ponens (MP): Se α e α → β sono veri allora possiamo dedurreche anche β e vera

• Sostituzione Uniforme (SU): Se β e vera e p e un simbolo che comparein β allora anche β[α/p] e vera.β[α/p] e detta una istanza di β[p].

♦ Denotiamo con Axioms l’insieme degli assiomi del calcolo proposizionale,cioe tutte le formule ottenibili dai 3 schemi di assiomi per sostituzione.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 25

Page 26: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Definizioni

♦ Un teorema e una proposizione che otteniamo a partire dagli assiomiapplicando ripetutamente le regole di inferenza.In particolare `H α indica che α e un teorema del calcolo proposizionale seesiste una sequenza α1, . . . , αn = α tale che per ogni i, 1 ≤ i ≤ n,• αi ∈ Axioms, cioe e un’istanza di uno schema di assioma ottenuto da a,b e c per mezzo di SU oppure• αi e ottenuto da αj e αk, j < i, j 6= k e k < i per MP, dove αk = αj →αi.Diciamo che la sequenza α1, . . . , αn = α e una dimostrazione di α.

♦ Diciamo che una proposizione α ha una dimostrazione da un insiemedi proposizioni (ipotesi) Γ e scriviamo Γ `H α se esiste una derivazioneα1, . . . , αn = α tale che, per ogni i, 1 ≤ i ≤ n• αi ∈ Γ o αi ∈ Axioms oppure• αi e ottenuto da αj e αk, j < i, j 6= k e k < i per MP, dove αk = αj →αi, o αi e in Γ.Gli elementi di Γ sono chiamati le premesse di α.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 26

Page 27: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Proprieta del sistema hilbertiano

♦ Teorema di deduzioneSi puo dimostrare che nel sistema hilbertiano dato Γ un insieme di formuleproposizionali e siano γ e α due formule proposizionali:

Γ, γ `H α se e solo se Γ `H γ → α.

♦ Applicando piu volte il teorema di deduzione ad ogni formula in Γ otteni-amo che dimostrare Γ `H α equivale a dimostrare `H α′ per un opportunoα′. Pertanto possiamo sempre trattare con teoremi invece che con derivazionida insiemi di proposizioni.

♦ Teorema di consistenzaNon esiste una proposizione α tale che Γ `H α e Γ `H ¬α.Questo equivale a dire che il sistema hilbertiano e consistente, cioe nonpossiamo dimostrare una proposizione e il suo contrario

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 27

Page 28: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esempio

Per ogni A e B si deriva: {A,¬A} `H B

1. ¬A (ipotesi)2. A (ipotesi)3. A→ (¬B → A) (schema (a))4. ¬A→ (¬B → ¬A) (schema (a))5. ¬B → A (da 2 e 3 per MP)6. ¬B → ¬A (da 1 e 4 per MP)7. (¬B → ¬A)→ ((¬B → A)→ ¬¬B) (schema (c))8. (¬B → A)→ ¬¬B (da 6 e 7 per MP)9. ¬¬B (da 5 e 8 per MP)

10. B (da 9 per esercizio )

♦ L’esempio mostra che assumere la validita di A e ¬A permette di derivarela validita di un qualunque B. In altre parole se A e vero e per erroredimostriamo ¬A allora ne consegue che possiamo dimostrare B qualunquesia B (cfr. con la conseguenza di Russell della prova di 2 = 1 vista all’inizio)

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 28

Page 29: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Correttezza del sistema hilbertiano

♦ Domanda:Quale relazione lega i teoremi e le tautologie?Teorema: L’insieme delle tautologie coincide con l’insieme dei teoremi nelsistema hilbertiano:

`H α se e solo se |= α.

♦ Domanda:Se Γ `H α quale relazione lega i modelli di Γ ed α?Teorema: Cio che si puo derivare da un insieme Γ di ipotesi e vero in tutti imodelli di Γ. Infatti

Γ `H α se e solo se Γ |= α.

♦ Nota: i due teoremi precedenti mostrano che il sistema di Hilbert ecorretto e completo, cioe permette di dimostrare tutte e sole le cose vere.

♦ Esercizio: mostrare che gli schemi a, b e c sono tautologie

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 29

Page 30: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Forme normali congiuntive e disgiuntive

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 30

Page 31: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Clausole, Forma normale congiuntiva

♦ letterali: simboli proposizionali (atomi) o simboli proposizionali negati

♦ Una clausola e una disgiunzione di letterali L1 ∨ L2 ∨ · · · ∨ Ln.

♦ Una formula e in forma normale negativa se il segno di negazione comparesolo davanti agli atomi.

♦ Una formula e in forma normale congiuntiva (CNF) (o in forma clausale)se e in forma normale negativa e ha la forma C1 ∧ C2 ∧ · · · ∧ Cn (oppureequivalentemente {C1, C2, · · · , Cn}) dove le Ci sono clausole.

♦ Poiche la disgiunzione e commutativa, una clausola e del tipo:

A1 ∨ A2 ∨ · · · ∨ An ∨ ¬B1 ∨ ¬B2 ∨ · · · ∨ ¬Bm

dove gli Ai sono gli n atomi e Bj sono gli m atomi negati.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 31

Page 32: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Clausole

♦ Se n = m = 0 si ha la clausola vuota e si scrive {}.

♦ Una clausola verra nel seguito anche indicata come l’insieme dei suoiletterali e cioe {L1, L2, . . . , Lp}, omettendo il simbolo di disgiunzione ∨.

♦ Se L e un letterale e C = {L1, L2, . . . , Lp} una clausola, talvolta scriver-emo L ∪ C per indicare la clausola C ′ = {L} ∪ C,cioe C ′ = {L,L1, L2, . . . , Lp}.

♦ Se n = 1, cioe se la clausola ha un solo letterale positivo e quindi laforma:

A1 ∨ ¬B1 ∨ . . . ,∨¬Bm

si parla di clausola definita.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 32

Page 33: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Trasformazione in clausole: Convert1

Teorema Ogni formula e equivalente ad una formula in forma normale dis-giuntiva (DNF) ed e equivalente ad una formula in forma normale congiuntiva(CNF).

Si puo mettere una formula qualunque in forma CNF attraverso l’applicazioneripetuta dei seguenti 3 passi:

• Eliminando i connettivi → e ↔:(α↔ β) ≡ (α→ β) ∧ (β → α)

(α→ β) ≡ (¬α ∨ β)•Mettendo in forma normale per la negazione (NNF):¬(α ∧ β) ≡ ¬α ∨ ¬β¬(α ∨ β) ≡ ¬α ∧ ¬β¬¬α ≡ α

• Distribuendo la disgiunzione ∨ sulla congiunzione ∧:α ∨ (β ∧ γ) ≡ (α ∨ β) ∧ (α ∨ γ)

A questo punto dovremo solo raggruppare tutti i letterali in disgiunzione inclausole per ottenere una formula in CNF.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 33

Page 34: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Problemi di Convert1

Il problema dellalgoritmo Convert1 e che la dimensione della formula CNFottenuta potrebbe essere molto maggiore di quella originaria. Esempio:

((A1 ∧ A2) ∨ (B1 ∧B2)) ∨ (C1 ∧ C2))(((A1 ∧ A2) ∨B1) ∧ ((A1 ∧ A2) ∨B2) ∨ (C1 ∧ C2))((A1 ∨B1) ∧ (A2 ∨B1) ∧ ((A1 ∨B2) ∧ (A2 ∨B2) ∨ (C1 ∧ C2))((A1 ∨B1) ∧ (A2 ∨B1) ∧ ((A1 ∨B2) ∧ (A2 ∨B2) ∨ C1) ∧ ((A1 ∨B1)∧(A2 ∨B1) ∧ ((A1 ∨B2) ∧ (A2 ∨B2) ∨ C2)). . .. . .(A1 ∨B1 ∨ C1) ∧ (A2 ∨B1 ∨ C1) ∧ (A1 ∨B2 ∨ C1) ∧ (A2 ∨B2 ∨ C1)∧(A1 ∨B1 ∨ C2) ∧ (A2 ∨B1 ∨ C2) ∧ (A1 ∨B2 ∨ C2) ∧ (A2 ∨B2 ∨ C2)

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 34

Page 35: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Trasformazione in clausole: Convert2

Per ovviare a questi problemi possiamo usare una diversa trasformazione,dove i passi 1 e 2 sono uguali al precedente producendo una formula F ,mentre il passo 3 produce una formula CNF F1 e consiste in:

• SeA e una lettera proposizionale, Convert2(A) = A eConvert2(¬A) =¬A.

• Per ogni sottoformula γ = α∧β di F , crea tre nuove lettere Aγ, Aα, Aβ,aggiungi ad F1 le clausole ¬Aγ ∨ Aα e ¬Aγ ∨ Aβ e continua con laconversione di α e di β.

• Per ogni sottoformula γ = α∨β di F , crea tre nuove lettere Aγ, Aα, Aβ,aggiungi ad F1 la clausola ¬Aγ ∨Aα ∨Aβ e continua con la conversionedi α e di β.

• Aggiungi la clausola unitaria AF ad F1.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 35

Page 36: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esempio di Convert2

Usiamo la formula della slide precedente ((A1∧A2)∨(B1∧B2))∨(C1∧C2)).Diamo un nome a tutte le sottoformule D1 = A1 ∧ A2, D2 = B1 ∧ B2 eD3 = C1 ∧ C2, D4 = D1 ∨D2 e F = D4 ∨D3 ed inizializzamo F1 = {}

((A1 ∧ A2) ∨ (B1 ∧B2)) ∨ (C1 ∧ C2)) F1 = {}((D1 ∨ (B1 ∧B2)) ∨ (C1 ∧ C2)) F1 = F1 ∪ {(¬D1 ∨ A1), (¬D1 ∨ A2)}((D1 ∨D2) ∨ (C1 ∧ C2)) F1 = F1 ∪ {(¬D2 ∨B1), (¬D2 ∨B2)}((D1 ∨D2) ∨D3) F1 = F1 ∪ {(¬D3 ∨ C1), (¬D3 ∨ C2)}(D4 ∨D3) F1 = F1 ∪ {(¬D4 ∨D1 ∨D2)}F F1 = F1 ∪ {(¬AF ∨D4 ∨D3)}

F1 = F1 ∪ {AF}

Abbiamo quindi alla fineF1 = {(¬D1∨A1), (¬D1∨A2), (¬D2∨B1), (¬D2∨B2), (¬D3∨C1), (¬D3∨C2), (¬D4 ∨D1), (¬D4 ∨D2), (¬D1 ∨D3 ∨D4), (¬AF ∨D4 ∨D3), AF}

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 36

Page 37: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Proprieta

• Data una formula α, si puo facilmente dimostrare che α ≡ Convert1(α)

• Data una formula α, osserviamo che α 6≡ Convert2(α). Infatti le dueformule non hanno nemmeno lo stesso alfabeto.Si puo pero dimostrare che α e soddisfacibile se e solo se Convert2(α)e soddisfacibile. Si dice che la trasformazione Convert2 preserva lasoddisfacibilita

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 37

Page 38: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Algoritmo DPLL: Idea

Si applica ad un insieme di clausole ed e basato sulla tecnica del backtrack-ing, infatti prova ricorsivamente tutte le assegnazioni possibili per vedere seuna soddisfa la formula. Usa 2 controlli per ridurre (significativamente) ilnumero di assegnazioni da provare:

•Unit propagation. Se una clausola e unitaria (contiene un sololetterale) essa puo essere soddisfatta solo assegnandogli il valore corretto(1 se il letterale e positivo, 0 se e negativo).

• Pure literal elimination.Se un letterale appare sempre o positivo onegativo viene chiamato puro. I letterali puri possono essere resi tuttiveri, senza bisogno di fare scelte.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 38

Page 39: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Algoritmo DPLL: Funzioni di appoggio

• unit-propagate(letterale l, formula F ) Per ogni clausola c ∈ F ,se l compare in c con lo stesso segno allora cancella la clausola c, se lcompare in c con il segno opposto allora cancella l da c. Restituisce laformula semplificata.

• pure-literal-assign(letterale l, formula F ) Cancella tutte le clau-sole che contengono il letterale l. Restituisce la formula semplificata.

• choose-literal(formula F ) Seleziona (casualmente) un letterale checompare in F . Restituisce il letterale scelto.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 39

Page 40: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Algoritmo DPLL: Codice

function DPLL(F)

if F is empty

then return true;

if F contains an empty clause

then return false;

for every unit clause l in F

F = unit-propagate(l, F);

for every literal l that occurs pure in F

F = pure-literal-assign(l, F);

l := choose-literal(F);

x := DPLL(F Union {l});

y := DPLL(F Union {NOT l});

return x OR y;

♦ NOTA: L’algoritmo precedente non e ottimizzato. Infatti se e verox := DPLL(F Union l) non e necessario eseguirey := DPLL(F Union NOT l) (la funzione ritorna comunque il valore vero)

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 40

Page 41: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esercizi

1. Verificare che ¬A→ (A→ B) e una tautologia.

2. Mostrare che dall’insieme di formule Γ = {(P ∧Q)→ R,P, P → Q} sideriva Q ∧R.

Riformulate i problemi come problemi di soddisfacibilita , poi usate l’algoritmoConvert1 (o Convert2) per mettere in forma CNF ed infine DPLL per ver-ificare la soddisfacibilita .

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 41

Page 42: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esercizi: Svolgimento 1

¬A→ (A→ B) e una tautologia se e solo se ¬(¬A→ (A→ B)) non esoddisfacibile. Usando Convert1 otteniamo:

¬(¬¬A ∨ (¬A ∨B)) elimino le implicazioni¬(A ∨ (¬A ∨B)) elimino doppia negazione(¬A) ∧ ¬(¬A ∨B)) spingo dentro la negazione¬A ∧ A ∧ ¬B spingo dentro la negazioneF = {A,¬A,B} metto in forma a clausole

Applicando la DPLL ottengo:

F = unit-propagate(A,F ) seleziono la clausola unitariaAF = {} applicando unit-propagate la clausola¬A diventa vuota

Quindi la formula ¬A→ (A→ B) e una tautologia.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 42

Page 43: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esercizi: Svolgimento 2

Da Γ = {(P ∧ Q) → R,P, P → Q} si deriva Q ∧ R se e solo se Γ ∪{¬(Q ∧R)} non e soddisfacibile. Usando Convert1 otteniamo:

¬(P ∧Q) ∨R,P,¬P ∨Q,¬(Q ∧R) elimino le implicazioni(¬P ∨ ¬Q) ∨R,P,¬P ∨Q,¬Q ∨ ¬R spingo dentro la negazioneF = {¬P ∨ ¬Q ∨R,P,¬P ∨Q,¬Q ∨ ¬R} metto in forma a clausole

Applicando la DPLL ottengo:

F = unit-propagate(P, F ) seleziono la clausola unitaria PF = {¬Q ∨R,Q,¬Q ∨ ¬R} applico unit-propagate(P, F )F = unit-propagate(Q,F ) seleziono la clausola unitaria QF = {R,¬R} applico unit-propagate(Q,F )F = unit-propagate(R,F ) seleziono la clausola unitaria RF = {} applico unit-propagate(R,F ) e ottengo la clausola vuota

Quindi dalla formula Γ{(P ∧Q)→ R,P, P → Q} si deriva Q ∧R.

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 43

Page 44: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esercizio: Vacanza

♦ Assumiamo che:1. Se parto e vado in vacanza allora sono contento2. Se parto allora vado in vacanza3. PartoPosso concludere che: vado in vacanza e sono contento?

Definiamo tre simboli proposizionaliP : Parto, V : Vado in vacanza, C: sono Contento

Rispondere alla domanda equivale e mostrare che

Γ = {(P ∧ V )→ C,P → V, P} `T (V ∧ C)

Riscriviamo in termini di soddisfacibilita usando la regola Γ ` α se e solose Γ ∧ ¬α e insoddisfacibile.

Si!!!!

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 44

Page 45: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esercizio: La lotteria

♦ Sono felice se e solo se ho vinto la lotteria, o la mia ragazza esce con meSe piove la mia ragazza non esce con mePiove e sono feliceposso concludere che: sono felice se e solo se ho vinto la lotteria??

Γ = {F ↔ (L ∨ E), P → ¬E,P ∧ F} `T (F ↔ L)

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 45

Page 46: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esercizio: in viaggio

♦ Se nevica non si va in macchinaSe tira vento non si va in aereoSe i piloti e i ferrovieri scioperano non si va ne in aereo ne in trenoSe c’e bel tempo non nevica ne tira vento

Dire se e consistente con le affermazioni fatte che:A. Se e bel tempo si viaggia come si vuoleB. Se e bel tempo e non c’e nessuno sciopero si viaggia come si vuoleC. Se nevica si va in aereoD. Se nevica non si va in aereo

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 46

Page 47: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esercizio sui modelli 1

♦ Sia α = A→ ((B ∧ C) ∨ (C → ¬A)).

1. Mostrare che M = {A,B} e un modello per essa.2. Esistono altri modelli α?

♦ Se Giovanni studia canto e non ha una brutta voce allora avrasuccesso alla Scala.

1. Formalizzare l’affermazione precedente usando i seguenti simboli propo-sizionali:C= studia canto, B= brutta voce, S= successo alla scala

2. Dire quali tra i seguenti insiemi sono modelli:{C,B, S}, {C,S}, {B, S}, {C}, {B}, {}

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 47

Page 48: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esercizio sui modelli 2

♦ Verificare se{(C ∧ ¬B)→ S,C, S} |= B

per via semantica, cioe ragionando sui modelli e non facendo deduzione.

La risposta e no

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 48

Page 49: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logica-2.pdf · Fondamenti di Informatica 2, Linguaggi e Complessit a : Logica, II Parte Lucidi di M.Schaerf

Esercizio sui modelli 3

♦ Una formula costituita dalla congiunzione di n letterali distintiquanti modelli ha?

A1 ∧ . . . ∧ An

♦ Una formula costituita dalla disgiunzione di n letterali distintiquanti modelli ha?

A1 ∨ . . . ∨ An

Fondamenti di Informatica 2, Linguaggi e Complessita : Logica, II Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela 49