Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio...

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

Transcript of Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio...

Page 1: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 2: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 3: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 4: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 5: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 6: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 7: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 8: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 9: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 10: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 11: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 12: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

Logica proposizionale

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

Page 13: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 14: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 15: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 16: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 17: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

- ∧ 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

Page 18: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 19: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 20: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 21: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 22: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 23: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 24: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 25: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 26: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

Definibilita di connettivi: esempi

(α→ β) ≡ (¬α ∨ β)(α ∨ β) ≡ (¬α→ β)

(α ∨ β) ≡ ¬(¬α ∧ ¬β)(α ∧ β) ≡ ¬(¬α ∨ ¬β)(α ∧ β) ≡ (((α→ ⊥)→ ⊥)→ (β → ⊥))→ ⊥¬α ≡ α→ ⊥⊥ ≡ α ∧ ¬α

(α↔ β) ≡ (α→ β) ∧ (β → α)

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

Page 27: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 28: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 29: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 30: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 31: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 32: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 33: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 34: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 35: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 36: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 37: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 38: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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

Page 39: Fondamenti di Informatica 2 - uniroma1.itfiii/materiale_common/modelli/Logic...} De niamo il dominio e gli operatori che ci permetteranno di dare una semantica (signi cato) alle nostre

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