Introduzione alla logica matematica
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
Logica matematica
formalizzazione dei meccanismi di ragionamento
la logica studia proposizioni
una proposizione può essere vera o falsa
logica a due valori di verità
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.2/29
Formalizzazione
sintassi
in che modo scrivere le proposizioni
semantica
significato delle proposizioni
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.3/29
Logica proposizionale
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:
P5: pioverà
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.4/29
Logica proposizionale
Ad ogni proposizione elementare viene associata una
variabile proposizionale
A = fa caldo
B = è umido
C = è estate
D = pioverà
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.5/29
Logica proposizionale
La rappresentazione per l’esempio è
F1: A ∧ B → D
F2: B ∧ C → A
F3: B
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.6/29
Sintassi
La logica proposizionale tratta formule.
Una formula è composta da:
formule atomiche o atomi (A, B, C, ...)
connettivi logici
parentesi ( )
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.7/29
Connettivi logici
¬ 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.8/29
Formule ben formate
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)
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.9/29
Priorità dei connettivi
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.10/29
Semantica
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
Valore di verità di una formula
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
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.13/29
Tautologie
Alcune formule sono vere in tutte le interpretazioni.
((P ∧ (P → Q)) → Q)
(P → Q) P ∧ (P → Q) ((P ∧ (P → Q)) → Q)
P
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
Contraddizioni
formule che sono false in tutte le interpretazioni.
((P → Q) ∧ P ) ∧ (¬Q)
P
T
T
F
F
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
Decidibilità della logica proposizionale
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.
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.16/29
Equivalenza Logica
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.
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.17/29
Relazioni di equivalenza logica - I
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.18/29
Relazioni di equivalenza logica - II
(G ∨ ¬G)
≡
T
complementarietà
((F ∧ G) ∧ H)
≡
((F ∧ (G ∧ H)
associatività
((F ∨ G) ∨ H)
≡
((F ∨ (G ∨ H)
associatività
(F ∧ G)
≡
(G ∧ F )
commutatività
(F ∨ G)
≡
(G ∨ F )
commutatività
(F ∧ (G ∨ H))
≡
((F ∧ G) ∨ (F ∧ H))
distributività
(F ∨ (G ∧ H))
≡
((F ∨ G) ∧ (F ∨ H))
distributività
¬(F ∨ G)
≡
(¬F ∧ ¬G)
legge di De Morgan
¬(F ∧ G)
≡
(¬F ∨ ¬G)
legge di De Morgan
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.19/29
Relazioni di equivalenza logica - III
(F ∨ (F ∧ G))
≡
F
assorbimento
(F ∧ (F ∨ G))
≡
F
assorbimento
(F ∨ (¬F ∧ G))
≡
(F ∨ G)
assorbimento
(F ∧ (¬F ∨ G))
≡
(F ∧ G)
assorbimento
(F → G)
≡
(¬F ∨ G)
(F → (G → H))
≡
(G → (F → H))
proprietà implicazione
(F → (G → H))
≡
((F ∧ G) → H)
proprietà implicazione
(F ↔ G)
≡
((F → G) ∧ (G → F ))
eliminazione implicazione
doppia implicazione
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.20/29
Esempio - I
verificare che le seguenti formule sono equivalenti:
(a) (P ∧ Q) → ¬ (P ∧ R)
(a)
≡
≡
≡
≡
(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)
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.21/29
Esempio - IIa
Verificare se la seguente formula è una tautologia:
(a) (A → B) → ((A → ¬B) → ¬A)
tabella di verità
A B
(A → B) (A → ¬B) ((A → ¬B) → ¬A)
(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.22/29
Esempio - IIb
relazione di equivalenza
≡
≡
≡
≡
≡
≡
≡
≡
(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
Do it yourself - I
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
applicabili ad operandi di tipo boolean
operatore unario
! not
operatori binari
& and
ˆ xor (or esclusivo)
| or
&& and condizionale
|| or condizionale
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.25/29
Connettivi logici in Java
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
Introduzione alla logica matematica, Paolo Bison, A.A. 2004-05, 2004-10-26 – p.26/29
Esempi di espressioni
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
Connettivi condizionali
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