Introduzione alla logica proposizionale
Francesco Paoli
Dispense per gli studenti
March 6, 2013
1
Linguaggi proposizionali
Nel presente modulo studieremo la logica proposizionale classica.
In generale, quando si indaga una logica proposizionale occorre innanzitutto
speci…care un linguaggio nel quale la logica viene formulata. Una volta …ssato il
linguaggio, la logica può essere presentata mediante un calcolo (o più calcoli) che
consente di determinare quali sono le inferenze logicamente accettabili. In…ne,
tale calcolo può venire interpretato per mezzo di una semantica. Nei prossimi
paragra… vedremo meglio di che cosa si tratta; per il momento limitiamoci a
…ssare la struttura generale di un linguaggio proposizionale.
Un linguaggio proposizionale $ consta di un alfabeto e di un insieme di
formule. L’alfabeto è un insieme di simboli suddiviso nelle seguenti sottoclassi:
Simboli descrittivi : un insieme numerabile di variabili fp1 ; p2 ; :::g. Useremo le lettere p; q; ::: come metavariabili per generiche variabili.
Simboli logici : per ogni k 0, un insieme …nito o vuoto (vuoto per ogni
numero naturale k tranne un numero …nito di essi) di connettivi k-ari
( f1k ; f2k ; :::; fnkk ).
Simboli ausiliari : le parentesi di apertura e di chiusura: ( e ).
L’insieme delle formule di $ è de…nito induttivamente nel modo seguente (le
lettere ; ; ::: sono usate come metavariabili per generiche formule):
ogni variabile pi è una formula;
se 1 ; :::; k sono formule e fik è un connettivo k-ario, allora fik (
è una formula;
nient’altro è una formula.
L’insieme delle formule di $ sarà denotato con FOR($).
1
1 ; :::;
k)
2
Il calcolo HK per la logica classica
In questo paragrafo de…niremo un linguaggio proposizionale adeguato per formulare la logica classica e la presenteremo mediante un calcolo assiomatico HK
del tipo usualmente de…nito alla Hilbert. In…ne, dimostreremo un appropriato
teorema di adeguatezza di HK rispetto alla semantica delle tavole di verità:
dimostreremo cioè che i teoremi di HK sono tutte e sole le tautologie. Questo
risultato sarà ottenuto come corollario di un teorema più forte, in base al quale
si fa vedere che le nozioni di derivabilità in HK e di conseguenza logica (de…nite
sotto) coincidono.
2.1
Sintassi logica
Vogliamo adesso costruire un calcolo logico, che chiameremo HK, il quale generi
tutte e sole le tautologie.
Un calcolo proposizionale alla Hilbert consta di due componenti: 1) un linguaggio proposizionale e 2) un insieme di postulati.
Il linguaggio proposizionale di HK, che chiamiamo $1 , è così strutturato:
Simboli descrittivi : un insieme numerabile di variabili (fp1 ; p2 ; :::g).
Simboli logici : il connettivo unario : (negazione), i connettivi binari ^
(congiunzione), _ (disgiunzione), ! (implicazione).
Simboli ausiliari : le parentesi di apertura e di chiusura: ( e ).
L’insieme delle formule di $1 è de…nito induttivamente nel modo seguente:
ogni variabile pi è una formula;
se ;
sono formule, allora : ;
^ ;
_ ;
!
sono formule;
nient’altro è una formula.
Attenzione! Seguiremo qui la convenzione in base alla quale congiunzione
e disgiunzione legano più fortemente dell’implicazione. La formula ^ ! ,
quindi, dovrà essere interpretata come ( ^ ) ! e non come ^ ( ! ).
I postulati di HK si dividono a loro volta in 1) assiomi e 2) regole di inferenza.
Gli assiomi sono formule de…nite come tali. In HK (e, generalmente, in ogni
calcolo alla Hilbert) gli assiomi vengono speci…cati schematicamente: dicendo
ad esempio che :: ! è un assioma, intendiamo che ogni formula ottenuta
sostituendo alla metavariabile
una qualsiasi formula in FOR($1 ) è un assioma. Le regole di inferenza sono insiemi di n + 1 formule f 1 ; :::; n ; n+1 g,
dove 1 ; :::; n sono dette premesse e n+1 conclusione. La notazione standard
per una regola di inferenza è
1 ; :::; n
n+1
ere
e la sua interpretazione intuitiva è: dalle assunzioni 1 ; :::; n si può concludn+1 . Anche le regole di inferenza vengono presentate schematicamente.
2
Nella tabella seguente vengono presentati i postulati di HK.
A1.
A2.
A3.
A5.
A6.
A8.
A9.
A11.
!( ! )
( ! ( ! )) ! (( ! ) ! ( ! ))
^
!
A4.
( ! ) ! (( ! ) ! ( !
!
^
!
!
_
^ ))
_
A7.
( ! ) ! (( ! ) ! ( _
! ))
( ! ) ! (( ! : ) ! : )
A10.
:: !
! (: ! )
R1.
!
I prossimi due concetti di fondamentale importanza che vogliamo introdurre
sono quelli di dimostrazione e di teorema.
Una dimostrazione in HK è una successione …nita di formule 1 ; :::; n appartenenti a FOR($1 ) tale che, per ogni i n, i è un assioma di HK oppure
è ottenuta da formule precedenti nella successione applicando l’(unica) regola di
inferenza di HK. L’espressione " i è ottenuta da formule precedenti nella successione applicando l’(unica) regola di inferenza di HK" signi…ca che esistono
j ; k , con j; k < i, tali che k = j ! i e che pertanto i può essere ottenuta
come conclusione della regola d’inferenza R1 dalle premesse j ; k :
j
j
!
i
i
Un teorema (o formula dimostrabile) di HK è la formula conclusiva di una
qualche dimostrazione in HK. Per dire che è un teorema di HK scriveremo
spesso `HK . Si noti che in particolare gli assiomi sono teoremi, in quanto
ciascun assioma è la formula conclusiva della dimostrazione (banale) che consiste
in lui stesso e basta.
Ecco un esempio di dimostrazione in HK. Facciamo vedere come dimostrare
il principio di identità ! .
1
2
3
4
5
( ! (( ! ) ! )) ! (( ! ( ! )) ! ( ! ))
! (( ! ) ! )
( ! ( ! )) ! ( ! )
!( ! )
!
A2
A1
R1, 1, 2
A1
R1, 3, 4
Una volta che un teorema è stato dimostrato, si possono accorciare le dimostrazioni giusti…cando alcuni passaggi mediante un riferimento al teorema
appena dimostrato. Facciamo un esempio. Chiamiamo T1 il principio di identità ! appena dimostrato. Dimostriamo adesso il teorema T2 (legge di
assorbimento o di contrazione):
( ! ( ! )) ! ( ! ) .
3
1
2
3
4
( ! ( ! )) ! (( !
!
( ! ) ! (( ! ( !
( ! ( ! )) ! ( !
(( ! ( !
! ((( ! ( ! )) ! (
(( ! ( ! )) ! ( !
( ! ( ! )) ! ( !
5
6
7
) ! ( ! ))
)) ! ( ! ))
)
)) ! (( ! ) ! ( ! )))
! )) ! (( ! ( ! )) ! ( ! )))
)) ! (( ! ( ! )) ! ( ! ))
)
A2
T1
A1
R1, 2, 3
A2
R1, 1, 5
R1, 4, 6
In senso stretto, quella appena riportata non è neanche una dimostrazione:
la formula al passo 2 non è né un assioma, né ottenuta da formule precedenti mediante R1. Si tratta però di un teorema: quindi la successione di formule precedente può essere trasformata in una dimostrazione semplicemente inserendo la
dimostrazione di T1 dopo il passo 1.
Una derivazione della formula in HK dall’insieme di formule (dette assunzioni ) è una successione …nita di formule 1 ; :::; n appartenenti a FOR($1 )
tale che, per ogni i
n, i è un assioma di HK oppure è un elemento di
oppure è ottenuta da formule precedenti nella successione applicando l’(unica)
regola di inferenza di HK. Quindi, l’unica di¤erenza tra una dimostrazione e
una derivazione è che i passi di quest’ultima possono essere giusti…cati anche
con riferimento ad un’assunzione in . Le derivazioni intendono insomma formalizzare il ragionamento ex hypothesi. Scriviamo `HK
per indicare che
esiste una derivazione di
in HK dall’insieme di assunzioni , o più brevemente:
è derivabile in HK da . Una dimostrazione può essere vista anche
come derivazione dall’insieme vuoto di assunzioni. Esempio: facciamo vedere
che è derivabile in HK da ! ; ! ; .
1
2
3
4
5
!
!
ass.
ass.
ass.
R1, 1, 3
R1, 2, 4
Enunciamo senza dimostrarlo il seguente
Theorem 1 (Teorema di deduzione).
[f g `HK
se e solo se
`HK
! .
Lemma 2 In HK si dimostrano:
(i) ! ( ! ^ )
2.2
Semantica logica
Vogliamo adesso usare le tavole di verità per interpretare le formule del nostro calcolo logico. Abbiamo visto che ciascuna riga della tavola di verità per
la formula
ri‡ette una possibile assegnazione di valori di verità agli enunciati atomici che compongono . Vogliamo adesso compiutamente formalizzare
quest’idea di "possibile assegnazione di valori di verità agli enunciati atomici
che compongono una formula".
4
Una valutazione (del linguaggio $1 ) è una funzione v da FOR($1 ) nell’insieme
f0; 1g che obbedisce alle seguenti clausole:
v (: )
=
1
v( ^ )
=
min (v ( ) ; v ( ))
=
max (v ( ) ; v ( ))
v( ! )
=
max (1
v( _ )
v( )
v ( ) ; v ( )) .
Diciamo che
è conseguenza logica in HK dell’insieme di formule
(e
scriviamo
)
quando
per
ogni
valutazione
v,
se
v
(
)
=
1
per
ogni
2
,
HK
allora anche v ( ) = 1. Equivalentemente:
è conseguenza logica in HK di
quando non esiste nessuna valutazione v tale che v ( ) = 1 per ogni 2 e
al contempo v ( ) = 0. Intuitivamente, è conseguenza logica di se non
può mai essere falsa quando tutte le formule in sono vere (cfr. la de…nizione
di argomento valido!!). Si noti che, se è una tautologia, allora è impossibile
trovare una valutazione v tale che v ( ) = 0; di conseguenza una tautologia
può essere vista come una conseguenza logica dell’insieme di formule vuoto. La
notazione HK , pertanto, è un modo equivalente di esprimere il fatto che è
una tautologia. Ancora, si osservi che in base alla de…nizione una tautologia è
conseguenza logica di un qualsiasi insieme di formule.
3
Il teorema di adeguatezza
Vogliamo ora dimostrare che per quanto riguarda HK il concetto sintattico
di derivabilità e quello semantico di conseguenza logica coincidono: in altre
parole, vogliamo dimostrare che `HK se e solo se
HK . Se riusciremo
nell’intento, in particolare avremo dimostrato che i teoremi di HK coincidono
con le tautologie, e che quindi HK è davvero un calcolo che genera in maniera
e¤ettiva le tautologie che avevamo introdotto mediante le tavole di verità.
Tale teorema di adeguatezza per HK si divide in due parti:
Teorema di correttezza per HK: se `HK allora
HK .
Teorema di completezza per HK: se
allora `HK .
HK
Theorem 3 (Teorema di correttezza per HK): se
`HK
allora
HK
.
Proof. La dimostrazione si svolge per induzione sulla lunghezza n della derivazione
di da in HK.
Base: n = 1. Se la derivazione di da in HK consiste di un unico passo,
allora i casi sono due: 1) 2 ; oppure 2) è un assioma di HK. Caso 1).
Supponiamo che v ( ) = 1 per ogni 2 ; dunque vale in particolare v ( ) = 1
e quindi
. Caso 2): basta controllare che ogni assioma di HK è una
HK
tautologia, poiché, come già osservato, se è una tautologia allora per ogni
vale
HK . Questa operazione, come sappiamo, si può fare con le tavole di
verità (esercizio).
Passo. Supponiamo che l’enunciato del teorema sia vero per n < m (ipotesi
d’induzione) e dimostriamo che è vera per n = m. Sia dunque
l’m-esima
5
formula di una dimostrazione D. Se 2 , oppure è un assioma di HK, ci
si riconduce al caso precedente. Se invece è ottenuta da formule precedenti
; ! tramite R1, allora si consideri la dimostrazione D0 , di lunghezza m 1;
ottenuta eliminando da D. Tale dimostrazione contiene sia che ! , ma
poiché ha lunghezza < m vi posso applicare l’ipotesi di induzione: si ha dunque
e
! . Sia adesso v una generica valutazione t.c. v ( ) = 1
HK
HK
per ogni 2 ; ne segue che v ( ) = v ( ! ) = 1. Ma allora v ( ) = 1 e
quindi
HK .
Il teorema di completezza è più arduo da dimostrare e richiede alcune de…nizioni
aggiuntive ed una serie di lemmi. Diciamo innanzitutto che
FOR($1 ) è
un insieme consistente se e solo se esiste almeno una formula 2 FOR($1 )
tale che 0HK . In altri termini, è un insieme consistente se da esso non
si può derivare tutto. Diciamo anche che
è inconsistente se non è consistente. Dimostriamo adesso che è consistente se da esso non si può derivare
una contraddizione.
Lemma 4
`HK e
è un insieme consistente se e solo se per nessuna formula
`HK : .
,
Proof. Da sinistra a destra. Dimostriamo, per contrapposizione, che se esiste
una formula tale che `HK
e `HK : , allora è inconsistente. Sia
dunque `HK e `HK : . Per A10, `HK ! (: ! ), dove è una
qualsiasi formula. Applicando due volte R1, `HK , e quindi è inconsistente.
Da destra a sinistra. Dimostriamo, per contrapposizione, che se è inconsistente, allora esiste una formula tale che `HK e `HK : . Ma questo
è banale: se da si deriva tutto, allora in particolare da si possono derivare
e: .
Da qui in avanti applicheremo il Lemma 4 senza ulteriore menzione, ricorrendo alla de…nizione originaria di consistenza o alla sua caratterizzazione
equivalente a seconda della convenienza.
Lemma 5 Se c’è una valutazione v tale che v ( ) = 1 per ogni
è consistente.
2 , allora
Proof. Ancora una volta, dimostriamo il lemma per contrapposizione: se è
inconsistente, allora non c’è nessuna valutazione v tale che v ( ) = 1 per ogni
2 . Supponiamo quindi che per qualche formula , `HK e `HK : .
Per il Teorema 3,
e
HK
HK : . Se esistesse una valutazione v tale
che v ( ) = 1 per ogni 2 , per de…nizione di conseguenza logica avremmo
v ( ) = v (: ) = 1, il che è impossibile, perché se v ( ) = 1 allora v (: ) = 0 e
viceversa.
Lemma 6 i) Se [ f: g è inconsistente, allora
inconsistente, allora `HK : .
`HK
; ii) se
[f g è
Proof. i) Supponiamo che [f: g `HK e [f: g `HK : . Per il Teorema
1, `HK : ! e `HK : ! : . Tuttavia, per A9 `HK (: ! ) !
6
((: ! : ) ! :: ). Applicando due volte R1, `HK :: . Ancora, per A11
`HK :: ! . Usando nuovamente R1, `HK . (ii) Simile.
La prossima nozione è fondamentale per la dimostrazione di completezza.
Un insieme
FOR($1 ) è un insieme consistente massimale se e solo se
1) è consistente, 2) ogni
che include propriamente
è inconsistente. Intuitivamente, un insieme di formule è consistente massimale se "non ci posso
aggiungere niente" senza farlo diventare inconsistente. Il prossimo risultato,
noto come Lemma di Lindenbaum, ci dice che ogni insieme consistente è incluso
in un insieme consistente massimale.
Lemma 7 (Lemma di Lindenbaum). Se
FOR($1 ) è un insieme consistente, allora esiste
consistente massimale tale che
.
Proof. Consideriamo un’enumerazione 1 ; 2 ; ::: di FOR($1 ) (esiste perché
FOR($1 ) è un insieme numerabile!). De…niamo induttivamente una successione
di insiemi nel modo seguente:
1
=
n+1
=
=
n
[
[ f n g se
altrimenti.
n,
n
[f
ng
è consistente;
n.
n 0
Si osservi che, per costruzione, ogni n è consistente e vale anche che
.
Dimostriamo ora che è consistente massimale. Innanzitutto, supponiamo per
assurdo che sia inconsistente. Allora, per qualche formula , si ha che `HK
e
`HK : . Ma le derivazioni sono successioni …nite di formule: quindi le
nostre ipotetiche derivazioni di e : , nel loro complesso, avranno utilizzato
come assunzioni solo un sottoinsieme …nito f 1 ; :::; m g di . Ora, ciascun i
sarà stato introdotto in un qualche indice della costruzione precedente. Tra tutti
questi, prendiamo l’indice più grande e chiamiamolo k. Ma allora k `HK e
che : .
k `HK : , poiché in k ho già tutto ciò che mi serve per derivare sia
Dunque, k sarebbe inconsistente: contraddizione. Quindi l’ipotesi per assurdo
è falsa e è consistente.
0
In…ne, ci rimane da dimostrare che se
, allora 0 è inconsistente.
0
0
Infatti, se
, allora esiste
2
tale che
2
= . Riandiamo alla
nostra enumerazione di FOR($1 ): per qualche i, avremo che = i . Poiché
2
= , signi…ca che i [ f g è inconsistente. Ma allora a maggior ragione sarà
0
inconsistente 0 , perché i [ f g
.
Lemma 8 (Lemma di chiusura deduttiva). Se
consistente massimale e se `HK , allora 2 .
FOR($1 ) è un insieme
Proof. Infatti, se per assurdo `HK ma 2
= , allora [f g è inconsistente,
poiché è consistente massimale. Per il Lemma 6, allora, `HK : , e quindi
è inconsistente: contraddizione.
7
Lemma 9 (Lemma delle clausole omofoniche). Se
consistente massimale, allora:
1. : 2
se e solo se
2
= ;
2.
^
2
se e solo se
2
e
2 ;
3.
_
2
se e solo se
2
o
2 ;
4.
!
2
FOR($1 ) è un insieme
se e solo se (se
2
allora
2 ).
Proof. (1) Sappiamo che ; : non possono appartenere entrambi a . Consideriamo l’insieme [ f g. Se è inconsistente, per il Lemma 6 `HK : e
quindi, per il Lemma 8, : 2 . Se invece [ f g è consistente, allora 2 ,
perché è consistente massimale e non può essere esteso in modo consistente.
(2) Supponiamo che ^ 2 . Per A3, A4, `HK ^ ! e `HK ^ ! .
Quindi, usando R1, `HK e `HK . Da ciò concludiamo 2 e 2
per il Lemma 8. Viceversa, supponiamo che 2 e 2 . Per il Lemma 2(i),
`HK
! ( ! ^ ). Quindi, usando R1 due volte,
`HK ^ . Per il
Lemma 8, quindi, ^ 2 .
(3) Simile (esercizio).
(4) Supponiamo ! 2 e 2 . Quindi, per R1, `HK e abbiamo ancora una volta la conclusione desiderata, cioè 2 , per il Lemma 8. Viceversa,
supponiamo che se 2 allora 2 . Ciò signi…ca che o 2
= oppure 2 .
Nel primo caso, per (1), : 2 . ma in virtù di A10, `HK : ! ( ! ).
Quindi `HK ! e per il Lemma 8 ! 2 . Nel secondo caso, in virtù
di A1 `HK ! ( ! ), da cui ancora una volta `HK ! e per il Lemma
8 ! 2 .
Dimostriamo adesso il converso del Lemma 5.
Lemma 10 (Lemma della valutazione canonica).Se
una valutazione v tale che v ( ) = 1 per ogni 2 .
è consistente, allora c’è
Proof. Sia consistente. Per il Lemma 7, è contenuto in un
massimale. De…niamo adesso, per ogni variabile proposizionale p,
v (p) =
consistente
1 se p 2 ,
0 altrimenti.
Tale funzione v determina automaticamente una valutazione di $1 , poiché la
possiamo estendere a tutto FOR($1 ) nel modo consueto. Dimostriamo adesso
che per ogni
2 FOR($1 ), v ( ) = 1 se e solo se
2 . Questo verrà
dimostrato per induzione sul numero n dei connettivi logici presenti in .
Base: n = 0. Allora è una variabile proposizionale e sappiamo già che
v ( ) = 1 se e solo se 2 .
Passo. Supponiamo che l’enunciato del teorema sia vero per n < m, e
prendiamo con m connettivi logici. Andiamo a vedere qual è il suo connettivo
principale. Se si tratta di una negazione, allora ha la forma : , e contiene
8
m 1 connettivi. Quindi posso applicare l’ipotesi di induzione, cioè v ( ) = 1
se e solo se 2 . Ma per il Lemma 9(1), 2
se e solo se : 2
= , quindi
v ( ) = 1 se e solo se : 2
= . Ma allora
v ( ) = v (: ) = 1 , v ( ) = 0
,
: =
2
.
Se invece il connettivo principale è una congiunzione o una disgiunzione o
un’implicazione, si ragiona nello stesso modo sfruttando le altre clausole del
Lemma 9. Quindi, in particolare, v è tale che v ( ) = 1 per ogni 2 .
La valutazione di cui al lemma precedente sarà chiamata la valutazione
canonica per .
Siamo adesso …nalmente pronti a dimostrare il teorema di completezza.
Theorem 11 (Teorema di completezza per HK): se
HK
allora
`HK .
Proof. Ragioniamo ancora una volta per contrapposizione: dimostriamo cioè
che, se 0HK , allora 2HK . Sia dunque 0HK . Allora [ f: g è
consistente. Consideriamo la valutazione canonica v per [f: g: per il Lemma
10, v ( ) = 1 per ogni 2 [ f: g. In altri termini, si ha che v ( ) = 1 per
ogni 2 e v (: ) = 1, cioè v ( ) = 0. Ma allora 2HK .
Come conseguenza di questi teoremi, abbiamo quindi:
Teorema di adeguatezza per HK: `HK se e solo se
HK .
I teoremi di HK coincidono con le tautologie: `HK se e solo se HK .
9