logica 3` - Dipartimento di Matematica

annuncio pubblicitario
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
.
Scarica