Introduzione
alla
LOGICA MATEMATICA
Corso di Matematica Discreta.
Corso di laurea in Informatica.
Prof. Luigi Borzacchini
III. La logica delle proposizioni.
Sintassi.
Dalla semantica alla sintassi
• Le tavole di verità sono una procedura semantica, cioè
descrivono le correlazioni ‘statiche’ dei valori di verità
tra proposizioni complesse e i loro componenti atomici.
• Ma la matematica e in generale l’intelligenza umana ha
sempre utilizzato tecniche di ragionamento ‘dinamico’
per raggiungere la verità: l’esempio più famoso è la
dimostrazione matematica.
• Pensate ad una dimostrazione di geometria: le ipotesi,
una serie di frasi collegate fra di loro come anelli di una
catena, fino alla tesi finale.
Una via sintattica alla verità: l’inferenza:
• Una formula è conseguenza logica (semantica) di altre
formule se è vera quando queste sono vere.
So che se piove, mi posso bagnare, e quindi ogni qual volta piove mi posso
bagnare, <se piove, mi posso bagnare>, <piove>, allora <mi posso bagnare>, i
numeri pari sono divisibili per 2, quindi ogni numero pari è divisibile per 2, <se
è pari, allora è divisibile per 2>, <è pari>, allora <è divisibile per 2>
sintattica: se AB, A allora B
AB A
regola di inferenza (modus ponens)
B
La dimostrazione è una sequenza finita di formule,
ciascuna delle quali o è una premessa o si ricava da
formule precedenti tramite una regola di inferenza.
L’ultima formula è il teorema.
Le premesse sono formule assunte come vere.
La dimostrazione
L’idea di dimostrazione prima di
Euclide era sostanzialmente quella di
una costruzione geometrica che
rendeva evidente una certa proprietà:
ad esempio il teorema di Pitagora.
Con Aristotele e Euclide la dimostrazione assume una forma
sintattica, quasi una traduzione della costruzione, con Frege
anche le inferenze diventano sintattiche. La verità è un
concetto semantico, la dimostrazione è un concetto sintattico,
quasi meccanico
E’ necessario ‘capire’ una dimostrazione? Si e no
Se la formula T è stata dimostrata dalle premesse A1, A2, … An,
scriveremo A1, A2, … An T, se la formula T è conseguenza
logica delle premesse A1, A2, … An, scriveremo A1, A2, … An T
Un esempio: A B, B C, A C
• Ad esempio: <se piove, mi posso bagnare>, <se mi
posso bagnare, prendo l’ombrello>, <piove>
<prendo l’ombrello>.
A B CA BB C
A
A B
B
B C
C
premessa
premessa
modus ponens
premessa
modus ponens
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
Il modus ponens è una regola corretta: se
A B e A sono vere, allora è vera anche B.
1
1
0
1
1
1
0
1
A e A B sono
0 0 1
0
1
contemporaneamente
0 1 1
0
1
vere in un solo caso: la
1 0 0
0
1
1 1 1
1
1
quarta riga, e in tale caso
anche B è vera.
Equivalentemente basterebbe dimostrare
che
(A  (A B) )  B
è una tautologia.
In generale la regola Premesse
è corretta
Conseguenze
sse Premesse  Conseguenza è una tautologia.
A B A B
A  (A B)
(A  (A B) ) B
• Abbiamo usato per il costrutto <se…allora…> due
simboli diversi: e . Qual è la differenza?
La deduzione naturale
• La dimostrazione è intesa come una procedura in
cui si ‘smantellano’ le premesse e con i ‘frammenti’
si ‘costruisce’ il teorema. E quindi occorrono regole
per eliminare i connettivi e regole per introdurli.
AB
-eliminazione
A
-introduzione
-eliminazione
AB
B
A
-introduzione
A
AB
B
AB
A
AB
-eliminazione
B
AB
B
B
AB
A
A B
A
B
Dalle tavole di verità si verifica che sono regole di inferenza corrette.
• Ad esempio: A  (B C), A  B
premesse
Scriviamo le premesse Smantelliamo
lasciamo dello spazio le premesse
e poi il teorema da
dimostrare:
A  (B C)
AB
A  (B C)
A
-elim.
AB
B
-elim.
…………
(B C) -elim.
…………
…………
C
C
C.
teorema
Riempiamo
lo spazio rimasto
per ottenere
il teorema:
A  (B C)
AB
A
B
(B C)
C
-elim
La dimostrazione così costruita è corretta! Il teorema è
soddisfatto se lo sono le premesse: A  (B C), A  B C
• A  (B C), A  B
C
A B C AB
B C A(B C) (A  (B C))  (A  B)
C
(A  (B C))  (A  B)  C
0 0 0 0
1
0
0
0
1
0 0 1 0
1
0
0
1
1
0 1 0 0
0
0
0
0
1
0 1 1 0
1
0
0
1
1
1 0 0 0
1
1
0
0
1
1 0 1 0
1
1
0
1
1
1 1 0 1
0
0
0
0
1
1 1 1 1
1
1
1
1
1
Non accade mai che (A  (B C))  (A  B) sia vera
e C sia falsa
(A  (B C))  (A  B)  C
è una tautologia
Le sottoderivazioni.
• Abbiamo quattro connettivi (, , , ) e quindi
abbiamo bisogno di otto regole, mentre ne abbiamo
date solo cinque. Le tre mancanti (le due del  e la
-introduzione) sono date come sottoderivazioni,
cioè ‘dimostrazioni locali’, simili alle subroutines in
un programma.
• Una sottoderivazione ha delle ‘assunzioni’ che sono
delle premesse locali, può ‘importare’ tutte le
formule dalla derivazione principale, e si può
‘chiudere’ se sono soddisfatte certe condizioni e in
tal caso ‘esportare’ un risultato nella derivazione
principale
La -introduzione
Per introdurre la si usa una
sottoderivazione, una
sottodimostrazione da usare
all’interno di una dimostrazione
principale, che ricorda il ‘lemma’
delle dimostrazioni geometriche.
Per introdurre una formula A B si
usa A come ‘assunzione’, si
importano formule dalla
dimostrazione principale, e se alla
fine si ottiene B, si può esportare
nella dimostrazione principale A B.
……
……
A
…..
…..
B
A B
……..
assunz.
import
Dimostrare che A
• A
• B
•
•
•
•
•
• A
B
C
A
A
B
B
C
C
B
C
B, B
C
A
premessa
premessa
assunz. per -intro
import
-elim
import
-elim
export -intro
C
Dimostrare che A (B  C) (A  B) (A  C)
A (B  C)
AB
premessa
assunz. per (A  B) (A  C)
A
assunz. per A  C
AB
import
B
 -elim.
A (B  C)
import
BC
 -elim.
C
 -elim.
AC
export per  -intro
(A  B) (A  C)
export per  -intro
La correttezza della regola deriva non dalla tavola di verità
dell’ , ma da un teorema:
Se K, A B allora K A B
• E la coppia di regole, il modus ponens come -eliminazione
e la sottoderivazione della -introduzione, ci fanno notare
che derivare T da A equivale a dimostrare A T, e che,
assumendo A, da A T si ottiene T. Otteniamo quindi la
interscambiabilità tra l’implicazione statica data dal
connettivo e quella dinamica data dalla relazione di
dimostrabilità . In realtà abbiamo qui in sostanza solo
ridotto il connettivo , per introdurlo nella dimostrazione,
alla dimostrazione espressa dall’ .
• Sarà questo il contenuto del ‘teorema di deduzione’:
• A1 , A2 , …. , An
T
• se e solo se, qualunque sia i,
• A1 , A2 , …. , Ai-1, Ai+1 ,…. An Ai
T
Il teorema di deduzione
• A1 , A2 , …. , An
T se e solo se, qualunque sia i, A1 ,
A2 , …. , Ai-1, Ai+1 ,…. An Ai T
A1
A2
….
An
……
……
T
A1
A2
….
An
Ai
A1
A2
….
An
Ai
…….
T
indica il posto vuoto lasciato da Ai
…..
T
A1
A2
…
An
l
A1
A1
A1
……..
………
……..
Ai-1
Ai+1
Ai
……
T
Ai T
Ai-1
Ai+1
……..
…………
An
An
An
……..
………
…….
Ai T
Ai T
Ai
T
T
• Per una sola premessa (n=1):
• A
T se e solo se A T, e ogni dimostrazione
Premesse
T è anche una regola (derivata) Premesse
T
Ma lo stesso non vale per premesse infinite.
Trattamento del
• La sottoderivazione che consente introduzione ed
eliminazione del  è sostanzialmente la
dimostrazione per assurdo.
• La  -introduzione si usa per costruire la formula
A. L’assunzione di partenza è A, e se si ottiene una
contraddizione (B   B, per un qualsiasi B), si può
esportare  A nella dimostrazione principale.
• Analogamente per la  -eliminazione: l’assunzione
è  A, e se si ottiene una contraddizione si esporta
A.
• La correttezza delle due regole deriva dalla tavola di
verità del .
-eliminazione
.
-introduzione
A
A
assunz.
assunz.
Import
import
B B assurdo
B B assurdo
A
A
Esempio: modus tollens
P  Q Q
P
P  Q, Q
P,
P
Q
P
Q
PQ
(PQ)(Q)
0
0
1
1
1
1
0
1
1
0
1
0
1
0
0
1
0
0
1
1
0
0
1
0
P  Q, Q
PQ
Q
P
PQ
Q
Q
QQ
P
P
prem.
prem.
assunz.
import
-elim.
import
-intro. assurdo
-intro.
PQ
( PQ)
PQ
premessa
 PQ assunz.
P
-elim.
PQ
import
Q
-elim.
Q
-elim.
QQ -intro.
( PQ) -intro.
Legge di de Morgan
B C
B C
C
C B
premessa
assunz.
B
assunz.
B C import
C
-elim.
C
import
CC -intro.
B
-intro.
C B
-intro.
regola di
B C
conversione C B
Correttezza e Completezza
• La dimostrazione è oggetto di un calcolo logico
• Una proposizione può essere ‘vera’ in una certa
interpretazione, falsa in un’altra: <0 è il numero più
piccolo>, è soddisfatta nei numeri interi, ma non nei
relativi, vera è una proposizione soddisfatta in tutte
le interpretazioni (una tautologia, come AA)
• Una calcolo logico è corretto se tutto ciò che è
dimostrabile è vero, è completo se tutto ciò che è
vero è dimostrabile.
• Un calcolo logico è corretto se Premesse T implica
Premesse T, è completo se Premesse T implica
Premesse T
• Per garantire la correttezza è necessario e sufficiente che le
regole di inferenza siano truth- preserving, cioè nella
conclusione
‘conservino la verità’ delle ipotesi.
A B A B
Ad esempio nel modus ponens le
ipotesi sono A e A B, la conclusione è B:
Quando le ipotesi sono vere è vera anche B.
0
0
1
1
0
1
0
1
1
1
0
1
• In tal caso poiché le premesse sono soddisfatte nei loro
modelli e le regole trasformano verità in verità tutte le
formule della dimostrazione sono soddisfate nei modelli delle
premesse.
• Le tautologie sono sempre vere e quindi possono sempre
essere introdotte in una dimostrazione.
Se il calcolo logico è corretto e completo, possiamo
distinguere due casi in base alla natura delle premesse:
Nel calcolo logico puro le premesse (gli assiomi) possono
essere solo tautologie, e ne segue che tutte le righe della
dimostrazione (incluso il teorema) sono tautologie.
In una teoria assiomatica gli assiomi non sono tautologie
e siamo interessati alle interpretazioni che soddisfano gli
assiomi (i loro modelli) e quindi anche i teoremi. Ad
esempio: in geometria «per due punti passa una e una
solo retta», e in tutti i modelli in cui gli assiomi della
geometria sono validi, sono validi anche tutti i teoremi.
• Ne consegue che in un calcolo corretto e completo
c’è una corrispondenza perfetta tra sintassi e
semantica, tra
• Teoremi: Premesse T,
• conseguenze logiche: Premesse T
Premesse
• e regole derivate:
T
• In una teoria assiomatizzata con un sistema finito di
assiomi vale anche l’equivalenza (nel calcolo logico
puro con Premesse  T , e quindi ogni teorema è
anche una tautologia Premesse  T. Ad esempio se
Assiomi_Geometria Teorema_di_Pitagora, allora
Assiomi_Geometria  Teorema_di_Pitagora
Premesse = { AB, AC }. Premesse BC
C
Premesse
• Basta infatti verificare che Premesse T sia una
tautologia.
• A B C A AB AC Premesse BC C
•
•
•
•
•
•
•
•
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
0
1
0
1
0
0
1
1
0
1
0
1
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
0
•
•
•
•
•
•
•
•
•
•
•
•
Dimostrare con le tavole di verità che:
CB, A
(AB)C .
A B C CB Premesse (AB) (AB)C .
0 0 0
1
0
1
0
0 0 1
1
0
1
1
0 1 0
0
0
1
0
0 1 1
1
0
1
1
1 0 0
1
1
0
1
1 0 1
1
1
0
1
1 1 0
0
0
1
0
1 1 1
1
1
1
1
La tesi è vera in tutti i modelli delle premesse, e quindi
è dimostrata
Dimostrare con la deduzione naturale che:
CB, A
(AB)C .
CB
A
A B
A
B
CB
C
(AB)C
CVD
premessa
premessa
assunzione in una sottoderivazione per la introduzione
import
modus ponens dalle due righe precedenti
import
or-eliminazione dalle due righe precedenti,
chiusura della sottoderivazione
-introduzione
Il calcolo logico puro
• Il calcolo logico sulle tautologie ( T) assume un
ruolo speciale.
• Ogni dimostrazione del tipo A1 , A2 , …. , An
T
corrisponde ad una tautologia A1  A2 …. An T
e ad una regola A1 A2 …. An tautologie proposizioni
, …. , An A1 , A2 , …. , An
T
2
A
T2
Il calcolo logico puro descrive quindi compiutamente
gli aspetti formali della logica: ogni teorema ha un
numero finito di premesse. Così che l’insieme delle
tautologie della forma A T include tutti i possibili
teoremi e tutte le possibili regole di inferenza.
Ad esempio la tautologia ((P  Q)  Q)  P (verificabile
anche con le tavole di verità) corrisponde alla dimostrazione
P  Q, Q
P e alla regola derivata P  Q Q
(modus tollens),
P
del tipo <se piove prendo l’ombrello>,<non prendo
l’ombrello> e quindi <non piove>.
Analogamente per la regola derivata
PQ
(conversione)
Q  P
Se invece la tautologia è una doppia implicazione, come
(P  Q)  (P  Q) allora abbiamo una equivalenza tra le
due formule e due regole derivate P  Q P  Q
P  Q P  Q
e si può dimostrare sia P  Q P  Q che P Q P 
Q
Analogamente dalle leggi di de Morgan: (P  Q) (P Q)
P   Q P   Q
• Sin dal Medioevo si conosce il teorema dello pseudoScoto: P,  P B, qualunque sia B, cioè da una
contraddizione si può derivare
P
prem.
qualsiasi formula. Infatti:
PB -intro
Altro risultato notevole la
P
prem.
consequentia mirabilis: (P P) P
B
-elim.
nella quale una proposizione non
P  P prem.
tautologica è dimostrata senza
P
ass.
contenuti ad essa estranei, ma solo
P P import
dalla sua relazione con la sua
P
-elim.
negazione
PP -intro
P
-intro.
• La logica proposizionale è corretta e completa
• Abbiamo visto che la correttezza di un calcolo logico è
facilmente verificabile, e del resto nessuno ha mai
dubitato della correttezza della logica delle nostre
dimostrazioni (ad esempio in geometria).
• Meno ovvia la completezza: chi ci assicura che tutte le
proprietà vere della nostra geometria siano
dimostrabili dai nostri assiomi? Non la dimostriamo
• Del resto verità e dimostrabilità sono due cose molto
diverse. Dimostrare che <in tutti i triangoli la somma
degli angoli interni è 180°> è una paginetta nel libro di
geometria, verificarlo significa effettuare infinite
misure!
Condizione necessaria e sufficiente
• A condizione sufficiente per B (se A, B) vuol dire
A B: <che un numero sia multiplo di 4 è condizione
sufficiente perché sia pari>
• A condizione necessaria per B (A solo se B) vuol
dire B A: <che un numero sia pari è condizione
necessaria perché sia multiplo di 4> (questo spesso
trae in inganno poiché sembra strano che una
‘condizione’ sia una conseguenza)
• A condizione necessaria e sufficiente per B (A se e
solo se B) vuol dire ovviamente che A B e B A
La decidibilità
• Un altro problema (ad esempio decidere se una
certa formula è dimostrabile da certe premesse) si
dice decidibile se esiste un algoritmo (una
procedura meccanica) che per qualsiasi input in
tempo finito ci dà la risposta (positiva o negativa).
• L’algoritmo che decide se una formula è
dimostrabile è noto come general theorem prover
Premesse T
• Premesse,T
gtp
Premesse T
• La logica proposizionale, essendo completa, è
decidibile tramite le tavole di verità
Per certe logiche il general theorem prover non sempre termina
nel caso di risposta negativa (semidecidibile)
Premesse, teorema
gtp
Premesse
Premesse
T
T
Degli algoritmi visti fino ad ora: le tavole di verità e la verifica
che una sequenza di formule è una dimostrazione sono
decidibili e di esecuzione rapida. La verifica di una equivalenza
tramite una sequenza di equivalenze elementari è decidibile,
ma c’è il problema del controllo sulle regole da applicare. In
generale la esistenza e la eventuale costruzione di una
dimostrazione sarà un problema semidecidibile.
Con le tavole di verità fai vedere che:
ABC
B A
ABC
A
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C A
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1 0
BC
0
0
0
1
0
0
0
1
A  BC
1
1
1
1
0
0
0
1
BA
1
1
1
1
0
0
1
1
Dimostrare con la deduzione naturale che
BA, BC
AC, usando anche regole derivate
BA
BC
(AC)
 (AC)
 A  C
A
C
BA
B
BC
B
B  B
premessa
premessa
assunzione
de Morgan
-eliminazione
-eliminazione
import
modus tollens
import
modus tollens
-introduzione,
contraddizione
BA, BC
AC
con le tavole di verità:
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C BA
0
0
1
0
0
1
1
1
0
1
1
1
0
1
1
1
BC Premesse AC
1
0
0
1
0
1
0
0
0
1
1
1
1
1
1
1
1
1
0
0
1
1
1
1
Perché è sbagliata la seguente derivazione ?
A  B (A  B)   A
AB
premessa
AB
assunzione
B
-eliminazione
A  B import
 A  B equival. riga preced.
A
-eliminazione
(A  B)   A -introduzione
La -eliminazione non è corretta poiché
ci sarebbe stato bisogno di avere dimostrato  B
.