Fondamenti di Informatica 2 - Dipartimento di Informatica e

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