Introduzione alla logica matematica

Introduzione alla logica matematica
Silvana Badaloni
Paolo Bison
Fondamenti di Informatica 1
A.A. 2003/04
Università di Padova
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.1/37
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. 2003-04, 2003-10-30 – p.2/37
Formalizzazione
sintassi
in che modo scrivere le proposizioni
semantica
significato delle proposizioni
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.3/37
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. 2003-04, 2003-10-30 – p.4/37
Logica proposizionale
Ad ogni proposizione elementare viene associata una
variabile proposizionale
= fa caldo
= è umido
= è estate
= pioverà
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.5/37
Logica proposizionale
F1:
F2:
La rappresentazione per l’esempio è
F3:
F4:
si vuole dimostrare che da F1-F4 segue logicamente:
F5:
rappresenta la congiunzione (and)
rappresenta la implicazione logica
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.6/37
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. 2003-04, 2003-10-30 – p.7/37
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. 2003-04, 2003-10-30 – p.8/37
Formule ben formate
Una formula è ben formata (FBF) se e solo se essa è
ottenibile applicando le seguenti regole:
1. un atomo è una FBF
è una FBF
2. se è una FBF, allora
,
3. se e sono FBF, allora lo sono anche
,
e
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.9/37
Priorità dei connettivi
,
3.
2.
1.
Stabilendo un ordinamento tra i connettivi è possibile
eliminare alcune parentesi. L’ordine adottato è il seguente:
,
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.10/37
Semantica
la semantica della logica proposizionale richiede
l’introduzione dei valori di verità
dare una interpretazione vuol dire trovare una funzione
essendo l’insieme delle formule ben formate FBF
del Calcolo Proposizionale.
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.11/37
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. 2003-04, 2003-10-30 – p.12/37
Tabelle di verità dei connettivi logici
T
T
F
F
T
F
T
F
F
F
T
T
T
F
F
F
T
T
T
F
T
F
T
T
T
F
F
T
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.13/37
Tautologie
T
T
T
T
T
T
F
F
F
T
F
T
T
F
T
F
F
T
F
T
Alcune formule sono vere in tutte le interpretazioni.
Tautologie o formule valide.
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.14/37
Contraddizioni
T
T
F
F
T
F
T
F
T
F
T
T
formule che sono false in tutte le interpretazioni.
F
T
F
T
F
F
F
F
Contraddizioni o formule inconsistenti.
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.15/37
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. 2003-04, 2003-10-30 – p.16/37
Equivalenza Logica
Due formule e sono equivalenti, e si indica con
, se e solo se esse hanno lo stesso valore di
verità in tutte le interpretazioni.
se e solo se la formula
Si può dimostrare che
è una tautologia.
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.17/37
doppia negazione
idempotenza
idempotenza
legge dei neutri
legge dei neutri
legge dei neutri
legge dei neutri
esclusione
!
!
!
!
identità
Relazioni di equivalenza logica - I
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.18/37
complementarietà
"
associatività
"
associatività
commutatività
commutatività
"
distributività
"
distributività
legge di De Morgan
legge di De Morgan
"
"
"
"
Relazioni di equivalenza logica - II
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.19/37
assorbimento
assorbimento
eliminazione implicazione
"
#
proprietà implicazione
"
#
proprietà implicazione
assorbimento
assorbimento
#
#
#
#
$
#
"
#
"
doppia implicazione
#
#
Relazioni di equivalenza logica - III
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.20/37
Esempio - I
- (
*.
- )
+,* )
' )(
0/
+12
*4
25
675 )
2
92
+' 5
/
:
*.
'
)
8
*
/
3
'
&%
(b)
(a)
verificare che le seguenti formule sono equivalenti:
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.21/37
Esempio - IIa
&%
Verificare se la seguente formula è una tautologia:
;
>=
<
=
;
<
>=
(a)
;
<
;
<
;
tabella di verità
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. 2003-04, 2003-10-30 – p.22/37
Esempio - IIb
@
?
relazione di equivalenza
propr. impl.
elim. impl.
elim. impl.
distributiva
neutri
neutri
doppia neg.
compl.
.
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.23/37
Deduzione logica
D
B
A
C
Nell’esempio introduttivo le formule
sono
dette premesse e
è detta conclusione o
conseguenza logica.
G
G
G
-
--
F
E
H
-
--
F
E
-
--
F
E
Una formula segue logicamente da un insieme di
formule
se è vera in tutte le
sono vere. Si scrive:
interpretazioni in cui
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.24/37
G
e la formula
,
G
-
--
F
E
H
-
--
F
Date le formule
E
Teorema di Deduzione - I
-
--
G
F
E
se e solo se la formula:
è una tautologia.
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.25/37
Teorema di Deduzione- II
G
,
G
-
--
F
E
H
-
--
F
E
Un teorema analogo stabilisce che:
Date le formule
e la formula
-
--
G
F
E
se e solo se la formula:
è una contraddizione.
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.26/37
Metodi per provare teoremi
-
--
G
F
E
1. diretto:
si dimostra che
è una tautologia
-
--
G
F
E
2. per refutazione:
si dimostra che
è una contraddizione.
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.27/37
Deduzione naturale
E’ un metodo diretto per provare teoremi.
Si applica una regola di inferenza a un insieme di
premesse. Si continua fino a che si trova una formula
che coincide con la formula da provare (goal) oppure
quando non si possono dedurre più nuove formule (il
goal non è un teorema)
Deduzione di nuove proposizioni da altre per mezzo di
un metodo formale.
Non è facile da incorporare in un programma
automatico: ad ogni passo quale regola?
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.28/37
5. if
then
6. if
and
then
(modus ponens)
then
and
7. if
then
4. if
then
3. if
then
then
2. if
and
1. if
Regole di inferenza
(modus tollens)
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.29/37
2.
1.
Esempio - III
3.
.
per regola 1;
da 5 e 2 per modus ponens;
7.
6.
5.
da queste premesse proviamo
4.
per regola 1;
8. D per modus ponens.
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.30/37
Do it yourself - I
Si dica se la seguente formula è una tautologia:
(b)
(a)
Si dica se le seguenti espressioni del calcolo
proposizionale sono o non sono equivalenti:
Si dica se la seguente formula del calcolo
proposizionale
è una contraddizione.
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.31/37
Connettivi logici in Java
operatore unario
! not
operatori binari
& and
ˆ xor (or esclusivo)
| or
&& and condizionale
|| or condizionale
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.32/37
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. 2003-04, 2003-10-30 – p.33/37
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. 2003-04, 2003-10-30 – p.34/37
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. 2003-04, 2003-10-30 – p.35/37
Espressione condizionale
sintassi
<expr0> ? <expr1> : <expr2>
semantica
se il valore di <expr0> è true si valuta <expr1>
altrimenti <expr2>
esempi
x>=0 ? x : -x
x>y ? (x>z ? x : z) : (y>z ? y : z)
n=k>y ? k-y : y-k;
if (k>y)n= k-y; else n=y-k;
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.36/37
Do it yourself - II
esprimere il connettivo xor in termini degli altri
connettivi
Introduzione alla logica matematica, Paolo Bison, A.A. 2003-04, 2003-10-30 – p.37/37