Introduzione alla logica matematica Logica matematica

Logica matematica
Introduzione alla logica matematica
formalizzazione dei meccanismi di ragionamento
la logica studia proposizioni
una proposizione può essere vera o falsa
logica a due valori di verità
Silvana Badaloni
Paolo Bison
Fondamenti di Informatica 1
A.A. 2004/05
Università di Padova
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.1/29
Formalizzazione
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.2/29
Logica proposizionale
sintassi
in che modo scrivere le proposizioni
semantica
significato delle proposizioni
P1: Se fa caldo ed è umido allora pioverà
P2: Se è umido ed è estate allora fa caldo
P3: adesso è umido
P4: adesso è estate
si vuole verificare:
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.3/29
P5: pioverà
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.4/29
Logica proposizionale
Logica proposizionale
Ad ogni proposizione elementare viene associata una
variabile proposizionale
La rappresentazione per l’esempio è
A = fa caldo
F1: A ∧ B → D
B = è umido
F2: B ∧ C → A
C = è estate
F3: B
D = pioverà
F4: C
si vuole dimostrare che da F1-F4 segue logicamente:
F5: D
∧ rappresenta la congiunzione (and)
→ rappresenta la implicazione logica
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.5/29
Sintassi
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.6/29
Connettivi logici
La logica proposizionale tratta formule.
Una formula è composta da:
formule atomiche o atomi (A, B, C, ...)
connettivi logici
parentesi ( )
¬ not
negazione
∨ or
disgiunzione
∧ and
congiunzione
→ if then
implicazione
↔ if and only if
bi-implicazione
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.7/29
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.8/29
Formule ben formate
Priorità dei connettivi
Una formula è ben formata (FBF) se e solo se essa è
ottenibile applicando le seguenti regole:
1. un atomo è una FBF
2. se F è una FBF, allora (¬F ) è una FBF
3. se F e G sono FBF, allora lo sono anche (F ∨ G),
(F ∧ G), (F → G) e (F ↔ G)
Stabilendo un ordinamento tra i connettivi è possibile
eliminare alcune parentesi. L’ordine adottato è il seguente:
1. ¬
2. ∧, ∨
3. →, ↔
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.9/29
Semantica
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.10/29
Valore di verità di una formula
la semantica della logica proposizionale richiede
l’introduzione dei valori di verità
B = {T, F}
dare una interpretazione vuol dire trovare una funzione
V : F → {T, F}
essendo F l’insieme delle formule ben formate FBF
del Calcolo Proposizionale.
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.11/29
Si può calcolare il valore di verità di una espressione
del Calcolo Proposizionale a partire
dai valore di verità delle formule atomiche che la
compongono (interpretazioni) e
dalle tabelle di verità dei connettivi logici.
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.12/29
Tabelle di verità dei connettivi logici
A
T
T
F
F
B (¬A) (A ∧ B) (A ∨ B) (A → B) (A ↔ B)
T
F
T
T
T
T
F
F
F
T
F
F
T
T
F
T
T
F
F
T
F
F
T
T
Tautologie
((P ∧ (P → Q)) → Q)
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.13/29
Contraddizioni
Q
T
T
T
T
T
T
F
F
F
T
F
T
T
F
T
F
F
T
F
T
Tautologie o formule valide.
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.14/29
Ogni formula è finita e contiene un numero finito di
formule atomiche:
quindi è sempre possibile determinare se essa è
valida, inconsistente o ne’ l’uno ne’ l’altro.
La logica proposizionale è decidibile.
((P → Q) ∧ P ) ∧ (¬Q)
(P → Q) P ∧ (P → Q) ((P ∧ (P → Q)) → Q)
P
Decidibilità della logica proposizionale
formule che sono false in tutte le interpretazioni.
P
T
T
F
F
Alcune formule sono vere in tutte le interpretazioni.
Q (P → Q) (¬Q) ((P → Q) ∧ P ) ∧ (¬Q)
T
T
F
F
F
F
T
F
T
T
F
F
F
T
T
F
Contraddizioni o formule inconsistenti.
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.15/29
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.16/29
Equivalenza Logica
Relazioni di equivalenza logica - I
Due formule F e G sono equivalenti, e si indica con
F ≡ G, se e solo se esse hanno lo stesso valore di
verità in tutte le interpretazioni.
Si può dimostrare che F ≡ G se e solo se la formula
(F ↔ G) è una tautologia.
F
≡
F
identità
¬(¬F )
≡
F
doppia negazione
(G ∧ G)
≡
G
idempotenza
(G ∨ G)
≡
G
idempotenza
(G∧T)
≡
G
legge dei neutri
(G∧F)
≡
F
legge dei neutri
(G∨T)
≡
T
legge dei neutri
(G∨F)
≡
G
legge dei neutri
(G ∧ ¬G)
≡
F
esclusione
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.17/29
Relazioni di equivalenza logica - II
(G ∨ ¬G)
≡
T
((F ∧ G) ∧ H)
≡
((F ∨ G) ∨ H)
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.18/29
Relazioni di equivalenza logica - III
complementarietà
(F ∨ (F ∧ G))
≡
F
assorbimento
((F ∧ (G ∧ H)
associatività
(F ∧ (F ∨ G))
≡
F
assorbimento
≡
((F ∨ (G ∨ H)
associatività
(F ∨ (¬F ∧ G))
≡
(F ∨ G)
assorbimento
(F ∧ G)
≡
(G ∧ F )
commutatività
(F ∧ (¬F ∨ G))
≡
(F ∧ G)
assorbimento
(F ∨ G)
≡
(G ∨ F )
commutatività
(F → G)
≡
(¬F ∨ G)
(F ∧ (G ∨ H))
≡
((F ∧ G) ∨ (F ∧ H))
distributività
(F → (G → H))
≡
(G → (F → H))
proprietà implicazione
(F ∨ (G ∧ H))
≡
((F ∨ G) ∧ (F ∨ H))
distributività
(F → (G → H))
≡
((F ∧ G) → H)
proprietà implicazione
¬(F ∨ G)
≡
(¬F ∧ ¬G)
legge di De Morgan
(F ↔ G)
≡
((F → G) ∧ (G → F ))
¬(F ∧ G)
≡
(¬F ∨ ¬G)
legge di De Morgan
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.19/29
eliminazione implicazione
doppia implicazione
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.20/29
Esempio - I
Esempio - IIa
verificare che le seguenti formule sono equivalenti:
(a) (P ∧ Q) → ¬ (P ∧ R)
(a)
≡
≡
≡
≡
Verificare se la seguente formula è una tautologia:
(b) ¬ (P ∧ Q ∧ R)
(P ∧ Q) → ¬(P ∧ R)
¬(P ∧ Q) ∨ ¬(P ∧ R)
¬(P ∧ Q ∧ P ∧ R)
¬(P ∧ P ∧ Q ∧ R)
¬(P ∧ Q ∧ R)
elimin.impl.
DeMorgan
commutativa
idempotenza
(b)
(a) (A → B) → ((A → ¬B) → ¬A)
tabella di verità
A B
(A → B) (A → ¬B) ((A → ¬B) → ¬A)
T
T
T
F
T
T
T
F
F
T
F
T
F
T
T
T
T
T
F
F
T
T
T
T
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.21/29
Esempio - IIb
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.22/29
Do it yourself - I
relazione di equivalenza
≡
≡
≡
≡
≡
≡
≡
≡
(a)
(A → B) → ((A → ¬B) → ¬A) ≡
((A → B) ∧ ((A → ¬B)) → ¬A)
((¬A ∨ B) ∧ (¬A ∨ ¬B)) → ¬A
¬((¬A ∨ B) ∧ (¬A ∨ ¬B)) ∨ ¬A
¬(¬A ∨ (B ∧ ¬B)) ∨ ¬A
¬(¬A∨F) ∨ ¬A
¬(¬A) ∨ ¬A
A ∨ ¬A
T.
propr. impl.
elim. impl.
elim. impl.
distributiva
neutri
neutri
doppia neg.
compl.
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.23/29
Si dica se la seguente formula è una tautologia:
¬P ∧ (P ∨ Q) ∧ (¬ (P ∨ Q) ∨ P ) ∧ ¬ (P ∨ Q)
Si dica se le seguenti espressioni del calcolo
proposizionale sono o non sono equivalenti:
(a) (P ∧ Q) → R
(b) P → ¬ (Q → R)
Si dica se la seguente formula del calcolo
proposizionale
((R → T ) ∧ (T → R) ∧ T ) → R
è una contraddizione.
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.24/29
Connettivi logici in Java
Connettivi logici in Java
applicabili ad operandi di tipo boolean
operatore unario
! not
operatori binari
& and
ˆ xor (or esclusivo)
| or
tabelle di verità
A e B espressioni di tipo boolean
A
B
!A A&B A|B AˆB
true true false true true false
true false false false true true
false true true false true true
false false true false false false
&& and condizionale
|| or condizionale
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.25/29
Esempi di espressioni
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.26/29
Connettivi condizionali
k>=0 & k<n (ERRATO 0<=k<n)
k<0 | k>=n
!(k>=0 & k<n)
!(x>0 | y<x)&(x<=0)
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.27/29
il secondo operando viene valutato se e solo se
il primo è true se l’operatore è &&
il primo è false se l’operatore è ||
esempi
k>=0 && k<n
k<0 || k>=n
a!=0 && b/a>100 (ERRATO a!=0 & b/a>100)
a==0 & (c=b)>100 (ERRATO a==0 && (c=b)>100)
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.28/29
Do it yourself - II
esprimere il connettivo xor in termini degli altri
connettivi
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.29/29