Logica intuizionistica - Pagine personali del personale della Scuola

Logica intuizionistica
Interpretazione BHK e controesempi deboli
Nel 1934 Heyting ha proposto un’interpretazione degli operatori logici
che spiega come si possano considerare dimostrazioni di enunciati complessi in funzione di dimostrazioni degli enunciati componenti. Benché faccia
riferimento a concetti non ben definiti come quello di dimostrazione e di
costruzione, l’interpretazione è più precisa e maneggevole di quella in termini di intenzioni e soddisfacimento di intenzioni, e contiene una definizione
implicita di dimostrazione.
L’acronimo si riferisce a Brouwer, Heyting, Kolmogorov. Kolmogorov
nel 1924 aveva presentato un’interpretazione dell’intuizionismo in termini di
soluzioni di problemi.
H1 Una dimostrazione di A ∧ B è data presentando una dimostrazione di
A e una dimostrazione di B.
H2 Una dimostrazione di A ∨ B è data presentando o una dimostrazione
di A o una dimostrazione di B (ed esplicitando che vogliamo considerare la
dimostrazione esibita come dimostrazione della disgiunzione).
H3 Una dimostrazione di A → B è una costruzione che permette di
trasformare qualsiasi dimostrazione di A in una dimostrazione di B.
H4 L’assurdo ⊥ non ha nessuna dimostrazione. Una dimostrazione di
¬A è una costruzione che trasforma ogni ipotetica dimostrazione di A in una
dimostrazione di ⊥ (quindi ¬A è equivalente a A → ⊥).
H5 Una dimostrazione di ∀xA(x) è una costruzione che trasforma una
dimostrazione di d ∈ D (il dominio inteso per la variabile x) in una dimostrazione di A(d).
H6 Una dimostrazione di ∃xA(x) è data dalla presentazione di un d ∈ D
e da una dimostrazione di A(d).
Per ora diciamo indifferentemente “valida” o “dimostrabile” per una formula, non avendo altra precisazione del concetto di validazione.
Sulla base dell’interpretazione BHK si possono riconoscere come intuizionisticamente validi oppure non validi alcuni semplici principi.
Si noti che ⊥ → A è valido per ogni A, perché non ci sono dimostrazioni
di ⊥.
Il principio del terzo escluso A ∨ ¬A risulta non intuizionisticamente valido, ma non si può sperare di refutare alcun caso specifico del terzo escluso,
cioè trovare un enunciato matematico A tale che ¬(A ∨ ¬A). Questo perché
¬¬(A ∨ ¬A) è intuizionisticamente valido:
supponiamo che
c dimostri ¬(A ∨ ¬A).
Allora
se d dimostra A ∨ ¬A, allora c(d) dimostra ⊥.
Poiché esistono operazioni e 7→ e0 e f 7→ f1 tali che
se e dimostra A allora e0 dimostra A ∨ ¬A
e
se f dimostra ¬A allora f1 dimostra A ∨ ¬A
allora g : e 7→ c(e0 ) è una dimostrazione di A → ⊥ ≡ ¬A, e h : f 7→ c(f1 )
di ¬A → ⊥. Allora h(g) è una dimostrazione ⊥. Quindi c 7→ h(g) stabilisce
¬¬(A ∨ ¬A). 2
A → ¬¬A è intuizionisticamente valida: assunto A (cioè supponendo che
sia data una dimostrazione di A), dobbiamo far vedere, per ¬¬A, che possiamo trasformare ogni dimostrazione di ¬A in una di ⊥. Ma una dimostrazione
di ¬A, insieme ad A, dà una dimostrazione di ⊥.
Invece ¬¬A → A non è valida perché l’antecedente afferma solo che
sarebbe assurdo negare che A; per esempio se A è ∃xQ(x), assurdo negare
che esista un elemento che soddisfa Q, ma questo non dà alcun metodo per
costruire un elemento siffatto.
Oppure: per dimostrare ¬¬A → A si dovrebbe avere un metodo che
trasforma ogni dimostrazione di ¬¬A in una dimostrazione di A; ma una
dimostrazione di ¬¬A è metodo che trasforma ogni dimostrazione di ¬A in
una dimostrazione di ⊥. Il fatto che non si possa refutare A non significa
che si possa dimostrare A.
Come il terzo escluso, neanche ¬A ∨ ¬¬A è intuizionisticamente valida;
è sempre un terzo escluso, riferito ad affermazioni negative: richiede o che A
2
sia refutabile, cioè di dimostrare che A porta all’assurdo, o di dimostrare che
è impossibile refutare A. (Vedremo più avanti una refutazione più esplicita,
semantica, di questo principio del terzo escluso debole.)
Questo significa che l’implicazione (A → B) → (¬A ∨ B) non è valida,
perché ponendo ¬¬A al posto di B si ha (A → ¬¬A) → (¬A ∨ ¬¬A).
Invece lo è (¬A ∨ B) → (A → B): se si ha una dimostrazione di B, allora
si ha anche una dimostrazione di A → B (cioè B → (A → B) è intuizionisticamente valido); se si ha una dimostrazione di ¬A, qualsiasi dimostrazione
di A porterebbe a una dimostrazione di ⊥ e quindi di B.
¬(A∧B) → (¬A∨¬B) non è intuizionisticamente valida perché l’ipotesi è
che una dimostrazione di A∧B porti a (sia trasformabile in una dimostrazione
di) una contraddizione, ma questo non significa che una dimostrazione di A
da sola, o di B da sola, porti a una contraddizione.
Invece sono valide le altre leggi di de Morgan:
(¬A ∨ ¬B) → ¬(A ∧ B)
¬(A ∨ B) → (¬A ∧ ¬B)
(¬A ∧ ¬B) → ¬(A ∨ B).
Per la prima: data dimostrazione di ¬A (o rispettivamente di ¬B) si
ha una contraddizione; data una dimostrazione di A ∧ B si ha anche una
dimostrazione di A (risp. B) e quindi una contraddizione.
Ponendo ¬A per B si ha (¬A ∨ ¬¬A) → ¬(A ∧ ¬A), da cui segue in altro
modo la non validità di ¬A ∨ ¬¬A.
Le altre leggi di de Morgan sono lasciate per esercizio.
¬¬¬A → ¬A è intuizionisticamente valida: assunto ¬¬¬A, da A si ricava
¬¬A, contraddizione, quindi ¬A.
Per quel che riguarda i quantificatori, ¬∃xA(x) → ∀x¬A(x) è intuizionisticamente valida: dato d ∈ D, devo trovare una dimostrazione di ¬A(d);
ma da A(d) segue ∃xA(x), e per l’antecedente questa si trasforma in una
dimostrazione di ⊥, quindi una dimostrazione di A(d) si trasforma in una
dimostrazione di ⊥, ovvero si ha una dimostrazione di ¬A(d).
Viceversa, una dimostrazione di ∀x¬A(x) è una costruzione che per ogni
d ∈ D prova che A(d) è assurdo; è assurdo quindi che ci sia una dimostrazione
di ∃xA(x), che dovrebbe essere data da una dimostrazione di uno specifico
A(d).
Riassumendo:
3
Leggi valide nell’interpretazione BHK:
A → ¬¬A
¬A ↔ ¬¬¬A
¬(A ∨ B) ↔ (¬A ∧ ¬B)
¬(A ∧ B) ↔ (A → ¬B) ↔ (B → ¬A)
¬¬(A → B) ↔ (¬¬A → ¬¬B) ↔ (A → ¬¬B) ↔ ¬¬(¬A ∨ B)
¬(A → B) ↔ ¬(¬A ∨ B)
(A → B) → (¬B → ¬A)
¬∃xA(x) ↔ ∀x¬A(x)
¬¬∃xA(x) ↔ ¬∀x¬A(x)
¬¬∀xA(x) → ∀x¬¬A(x).
Leggi classiche non valide nell’interpretazione BHK:
¬¬A → A
¬A ∨ ¬¬A
(A → B) ∨ (B → A)
¬(¬A ∧ ¬B) → A ∨ B
¬(¬A ∨ ¬B) → A ∧ B
∀x¬¬A(x) → ¬¬∀xA(x)
¬¬∃xA(x) → ∃x¬¬A(x)
(A → ∃xB(x)) → ∃x(A → B(x)), per x non libera in A
Tuttavia per una quadro più preciso e sicuro occorre introdurre sia un
calcolo deduttivo sia una semantica rigorosa.
Premettiamo la descrizione dei linguaggi predicativi del primo ordine, e
un calcolo deduttivo per la logica classica.
1
Linguaggi predicativi del primo ordine
1.1
Alfabeto
Ogni linguaggio1 L ha un alfabeto di simboli composto da
1. Una lista infinita di variabili {x1 , x2 , . . .}, con una funzione calcolabile
che a ogni n ≥ 1 associa xn .
1
Con “linguaggio” si intende talvolta l’insieme di alfabeto, regole di costruzione
sintattiche, semantica, talvolta solo l’insieme delle formule.
4
Si usano le lettere x, y, . . . per indicare variabili qualunque.
2. Parentesi2 sinistra “(” e destra “)”.
3. Un insieme adeguato3 di simboli detti “connettivi proposizionali”, per
esempio {¬, →}, o {¬, ∧, ∨} o insiemi più ricchi.
¬
∧
∨
→
↔
⊕
|
..
.
negazione
congiunzione
disgiunzione (debole)
implicazione
biimplicazione
disgiunzione forte
né . . . né
4. Due simboli ∀ e ∃ detti rispettivamente quantificatore universale e
quantificatore esistenziale.
Connettivi e quantificatori si chiamano segni logici4
5. Un certo numero, diverso da 0, anche infinito, si simboli detti predicativi, o di predicato, ciascuno con associato in modo effettivo un numero
> 0 detto numero degli argomenti o dei posti. Se il numero è > 1 i
simboli si dicono anche relazionali, o di relazione. Se n = 1 i simboli
sono anche detti di proprietà.
I simboli predicativi saranno in generale indicati dalle lettere P, Q, . . .
quelli predicativi in senso proprio, e R, S, . . . quelli relazionali. Se necessario si aggiunge per chiarezza come apice il numero di argomenti,
ad esempio R2 per un simbolo di relazione binaria.
Il linguaggio si dice monadico, o linguaggio dei predicati monadici, se
contiene solo simboli predicativi a un posto5 .
2
Le parentesi sono superflue se si adotta per i successivi simboli predicativi e funzionali
e per i connettivi la notazione prefissa.
3
Un insieme di connettivi si dice adeguato, o completo, se tutte le funzioni di verità si
possono ottenere come composizione di quelle associate ai connettivi dell’insieme. Si dà
per scontato che i simboli adottati non siano perciò arbitrari, ma associati alle funzioni di
verità usuali.
4
Qualcuno considera tale anche =, quando c’è; si veda sotto.
5
Qualcuno chiede che manchino anche i simboli funzionali di cui al punto successivo.
5
Il linguaggio si dice “linguaggio con uguaglianza” se ha un simbolo
relazionale binario che viene indicato con “=” e soggetto a condizioni
precisate in seguito.
6. Un certo numero, anche zero, eventualmente infinito, di simboli detti
funzionali, o di funzione, ciascuno con associato in modo effettivo un
numero > 0 detto numero degli argomenti, o dei posti.
I simboli funzionali saranno in generale indicati dalle lettere f, g, . . .. Se
necessario si aggiunge per chiarezza come apice il numero di argomenti,
ad esempio f 2 per un simbolo di funzione a due argomenti (detta anche
“operazione”).
7. Un certo numero, anche zero, eventualmente infinito, di simboli detti
di costante, o costanti.
Le costanti saranno indicate in generale con le lettere c, d, . . ., a meno
che non si usino linguaggi con notazioni matematiche consolidate, come
0, 1, . . . .
La proprietà di essere un simbolo dell’alfabeto, e di quale categoria, deve
essere decidibile.
La “parole” su un alfabeto sono le stringhe (liste o successioni finite) di
simboli dell’alfabeto. La concatenazione di due stringhe sarà rappresentata
scrivendo le stringhe una di seguito all’altra.
La dotazione di simboli predicativi, funzionali e di costante, che costituiscono la parte extralogica dell’alfabeto di un linguaggio, differisce da
linguaggio a linguaggio.
1.2
Termini e formule
Un’affermazione atomica è l’attribuzione di un predicato a uno o più termini.
L’insieme T dei termini di L contiene le costanti, le variabili e, se f è
un simbolo di funzione a n posti, e t1 , . . . , tn sono n termini, non necessariamente distinti, f t1 . . . tn è un termine (per comodità di lettura sarà scritto
f (t1 , . . . , tn ), anche se virgole non appartengono all’alfabeto).
Le lettere t, s, . . . eventualmente con indici sono variabili metalinguistiche
per termini.
I termini chiusi sono i termini che non contengono variabili.
Se t1 , . . . , tn sono termini, non necessariamente distinti, la parola
6
P t1 , . . . , t n
(scritta di solito P (t1 , . . . , tn ), come per i termini composti) è da leggersi
come affermazione che il predicato P sussiste per gli individui denotati dagli
n termini.
Nel caso di =, come anche si alcuni altri simboli corrispondenti a relazioni
matematiche con una notazione standard, per esempio < e ≤, si userà nelle
formule atomiche la notazione infissa t1 = t2 , t1 < t2 , . . . . Lo stesso per
alcuni simboli funzionali che corrispondono a operazioni matematiche, ad
esempio t1 + t2 .
L’insieme F delle formule è definito con la seguente definizione induttiva:
1. Se P è un predicato a n posti e t1 , . . . , tn termini, (P (t1 , . . . , tn )) è una
formula, detta atomica.
2. Se A è una formula, anche (¬A) lo è6 .
3. Se A e B sono formule e • un connettivo binario, anche (A • B) è una
formula.
4. Se A è una formula, e x una variabile, anche (∀xA) e (∃xA) sono
formule.
Le lettere A, B, . . . eventualmente con indici, sono variabili metalinguistiche per formule.
Le parentesi si mettono nel modo indicato per permettere il parsing in
modo effettivo, ovvero la scomposizione di una formula nelle sottoformule e la
costruzione del corrispondente albero sintattico, come nel seguente esempio
per la formula
(∀x((x > 0) → (∃y(x = y · y))))
con l’albero
6
La negazione è l’unico connettivo unario.
7
∀x
→
∃y
(x > 0)
(x = y · y)
dove i cerchi indicano l’inserimento degli operatori logici e le ellissi le formule,
o esplicitando
(∀x((x > 0) → (∃y(x = y · y))))
((x > 0) → (∃y(x = y · y)))
(x > 0)
(∃y(x = y · y))
(x = y · y)
Le formule che occorrono nei nodi dell’albero sono le sottoformule di
quella nella radice.
L’altezza dell’albero (massima lunghezza dei rami) si chiama altezza della
formula; è una misura di complessità, come anche la lunghezza.
Per semplificare la lettura le parentesi si riducono con alcune convenzioni.
Non si scrivono le parentesi intorno alle formule atomiche, non si scrivono
le parentesi più esterne, e si eliminano alcune coppie di parentesi intorno ad
alcune sottoformule, con un criterio sufficiente a farle ripristinare in modo
corretto e univoco.
8
A tale scopo si ordinano per priorità i segni logici (quelli che ci sono)
secondo le seguente graduatoria:
¬∀∃
∧
∨
⊕
→
↔
(⊕ è l’aut; i primi tre hanno la stessa priorità tra loro, maggiore rispetto a
quella degli altri).
Data quindi una parola le cui parentesi non rispettano le condizioni per
essere una proposizione (sı̀ però la parità, il fatto che il numero di parentesi
sinistre sia uguale a quello delle parentesi destre, il fatto che in ogni punto
che non sia l’ultimo il numero di sinistre è maggiore o uguale di quello delle
destre, e tutte le proprietà che si mantengono quando si eliminano alcune
coppie di parentesi corrispondenti) si reintroducono prima le parentesi per
le sottoformule atomiche, quindi le altre si rimettono seguendo l’ordine di
priorità dei segni logici7 .
1.3
Variabili libere e vincolate
Sriviamo Qx per indicare indifferentemente ∀x o ∃x, nelle considerazioni che
valgono per entrambi.
In una formula del tipo QxA, A si chiama raggio d’azione del quantificatore Qx iniziale. Il raggio d’azione di Qx resta A anche quando la formula
viene composta con altre, come per esempio (QxA) ∧ B
Le occorrenze di una variabile entro il raggio d’azione di un quantificatore
relativo a quella variabile si dicono vincolate dal quantificatore nella formula
e in ogni formule di cui essa sia sottoformula (e cosı̀ pure la x adiacente a Q
in Qx, a meno che non siano già vincolate da qualche Qx all’interno di A; le
altre y che non cadano nel raggio d’azione di qualche Qy si dicono libere.
Le occorrenze libere di variabili in QxA possono diventare vincolate in
una formula di cui QxA sia una sottoformula.
Esempio Nella formula ∀x(x2 + 1 > 0) tutte le occorrenze di x sono vincolate.
Nella formula
∀x(x2 + 1 > 0) ∧ x < 0
le prime due occorrenze di x sono vincolate dal ∀ iniziale, la terza è libera. Ma in
∃x(∀x(x2 + 1 > 0) ∧ x < 0)
7
Questo significa che, per esempio per un connettivo binario •, si cercano a destra e a
sinistra di • le più corte parole σ e τ che siano formule, e si racchiude tra parentesi (σ • τ ).
9
tutte le occorrenze di x sono vincolate, la prima e l’ultima da ∃x, le altre da ∀x.
Quindi ∃x vincola le occorrenze di x in ∀x(x2 + 1 > 0) ∧ x < 0 che sono libere in
∀x(x2 + 1 > 0) ∧ x < 0.
Se si vuole mettere in evidenza che la formula A contiene occorrenze libere
di x si scrive A[x], senza escludere che ne contenga altre; se si vuole mettere
in evidenza che contiene occorrenze libere di x e di y, A[x, y].
Qualche volta si dice brevemente che x è libera in A per dire che in A vi
sono occorrenze libere di x, o che x è vincolata per dire che vi sono occorrenze
vincolate, ma bisogna fare attenzione che allora una variabile può essere sia
libera sia vincolata in una formula.
Le formule in cui non ci sono occorrenze libere di variabili si dicono
enunciati .
Le formule che non sono enunciati sono anche chiamate, per sottolineare
la differenza, formule aperte, o solo formule quando la situazione è chiara dal
contesto.
Le formule in cui non occorrono quantificatori si chiamano anche formule
proposizionali; gli enunciati in cui non occorrono quantificatori si chiamano
anche proposizioni.
1.3.1
La sostituzione
Indichiamo con A[x/t] il risultato della sostituzione del termine t a tutte le
occorrenze libere di x in t, senza escludere che in A ci siano altre variabili
libere8 .
Indichiamo con s[x/s1 ] il risultato della sostituzione del termine s1 a tutte
le occorrenze della variabile x in s.
Si definisce prima la sostituzione s[x/s1 ]:
• se s è x, s[x/s1 ] è s1 ;
• se s è una variabile diversa da x o una costante, s[x/s1 ] è s;
• se s è f (t1 , . . . , tn ), s[x/s1 ] è f (t1 [x/s1 ], . . . , tn [x/s1 ]).
Quindi si definisce la sostituzione A[x/t1 ]:
• se A è P (s1 , . . . , sn ), A[x/t] è P (s1 [x/t], . . . , sn [x/t]);
8
Si indica anche con A[t] il risultato della sostituzione, ma conviene tenere traccia della
variabile sostituita, a meno che non ci sia alcuna ambiguità.
10
• se A è ¬B, A[x/t] è ¬(B[x/t]);
• se A è B • C, A[x/t] è B[x/t] • C[x/t];
• se A è QxB, A[x/t] è A;
• se A è QyB, y diversa da x, A[x/t] è Qy(B]x/t]).
Le definizioni comportano che se x non occorre libera in A o non occorre
in s, allora A[x/t] o s[x/s1 ] sono rispettivamente uguali a A o a s.
Con A[x/t1 , y/t2 ] si indica la sostituzione simultanea di t1 a x e di t2 a
y, simultanea nel senso che se t1 contiene y questa non va sostituita con t2
come succederebbe se si sostituisse prima t1 e poi t2 .
Quando si esegue una sostituzione A[x/t], si intende che l’affermazione
fatta da A su x venga trasportata a t. Ma possono presentarsi incongruenze
dovute alla rigidità della sintassi.
Esempio Se A è la formula ∃y(x 6= y), A afferma intuitivamente che esiste un
elemento diverso da x. Quindi
∃y(0 6= y) afferma che esiste un elemento diverso da 0,
∃y(1 + 1 6= y) che esiste un elemento diverso da 1+1,
∃y(z 6= y) che esiste un elemento diverso da z, . . .
Se si sostituisce a x la variabile y si ottiene ∃y(y 6= y), che a parte che è falsa,
non ha più lo stesso significato.
Per isolare i casi di sostituzione illecita si introduce la seguente
Definizione 1.3.1.1. Un termine t si dice sostituibile9 a x in A se non ci sono in A occorrenze di x che cadono dentro al raggio d’azione di quantificatori
Qy, dove y sono variabili occorrenti in t.
I termini chiusi sono sostituibili a qualunque variabile in qualunque formula.
1.4
Semantica per la logica classica
La diamo per nota, in particolare quella dei valori di verità {0, 1} per la
logica proposizionale. Si introducono i concetti di formula valida (in una
interpretazione), logicamente valida (valida in tutte le interpretazioni) e di
conseguenza logica.
Le formula logicamente valide si chiamano anche leggi logiche.
9
Nella letteratura si trova più spesso la dizione “libero per x in A”.
11
Leggi logiche notevoli 1
A→A
legge dell0 identità
A ↔ ¬¬A
legge della doppia negazione
A∧B ↔B∧A
commutatività di ∧
(A ∧ B) ∧ C ↔ A ∧ (B ∧ C)
associatività di ∧
A∨B ↔B∨A
commutatività di ∨
(A ∨ B) ∨ C ↔ A ∨ (B ∨ C)
associatività di ∨
A∧A↔A
idempotenza di ∧
A∨A↔A
idempotenza di ∨
A∧B →A
eliminazione di ∧
A→A∨B
introduzione di ∨
A ∧ (B ∨ C) ↔ (A ∧ B) ∨ (A ∧ C)
distributività
A ∨ (B ∧ C) ↔ (A ∨ B) ∧ (A ∨ C)
distributività
A ∧ (A ∨ B) ↔ A
legge di assorbimento
A ∨ (A ∧ B) ↔ A
legge di assorbimento
¬(A ∧ B) ↔ (¬A ∨ ¬B)
legge di De M organ
¬(A ∨ B) ↔ (¬A ∧ ¬B)
legge di De M organ
¬A ∨ A
legge del terzo escluso
¬(A ∧ ¬A)
legge di non contraddizione
A → B ↔ ¬B → ¬A
legge di contrapposizione
A ∧ ¬A → B
Lewis, o ex falso quodlibet
A → (B → A)
aff ermazione del conseguente
¬A → (A → B)
negazione dell 0 antecedente
(A → B ∧ ¬B) → ¬A
legge di riduzione all0 assurdo
(A → ¬A) → ¬A
riduzione all0 assurdo debole
(¬A → A) → A
consequentia mirabilis
((A → B) → A) → A
legge di P eirce
(A → B) ∨ (B → A)
legge di Dummett
A → ((A → B) → B)
modus ponens
A → (B → C) ↔ B → (A → C)
scambio antecedenti
(A → C) ∧ (B → C) ↔ A ∨ B → C
distinzione di casi
(A → B) ∧ (¬A → B) → B
distinzione di casi
(A → (B → C)) → ((A → B) → (A → C))
distributività di →
(A → B) ∧ (B → C) → (A → C)
transitività di →
A → (B → C) ↔ (A ∧ B) → C
importazione/esportazione
delle premesse
12
Leggi logiche notevoli 2
∀x¬A ↔ ¬∃xA
¬∀x¬A ↔ ∃xA
∀xA ↔ ¬∃x¬A
∀xA → A[x/t]
A[x/t] → ∃xA
∀xA ↔ ∀yA[x/y]
∃xA ↔ ∃yA[x/y]
∀x(A ∧ B) ↔ ∀xA ∧ ∀xB
∃x(A ∨ B) ↔ ∃xA ∨ ∃xB
∀xA ∨ ∀xB → ∀x(A ∨ B)
∃x(A ∧ B) → ∃xA ∧ ∃xB
∀x(A → B) → ∀xA → ∀xB
∀x(A → B) ↔ A → ∀xB
∃x(A → B) ↔ A → ∃xB
∀x(A ∨ B) ↔ A ∨ ∀xB
∃x(A ∧ B) ↔ A ∧ ∃xB
∀x(A → B) ↔ ∃xA → B
∃x(A → B) ↔ ∀xA → B
∀x∀yA ↔ ∀y∀xA
∃x∃yA ↔ ∃y∃xA
1.5
De M organ generalizzata
particolarizzazione (t sostituibile)
generalizzazione esistenziale 00
rinomina
rinomina
distributività di ∀ su ∧
distributività di ∃ su ∨
distributività parziale di ∀ su ∨
distributività parziale di ∃ su ∧
distributività parziale di ∀ su →
(x non libera in A)
(x non libera in A)
(x non libera in A)
(x non libera in A)
(x non libera in B)
(x non libera in B)
scambio dei quantificatori
scambio dei quantificatori
Deduzione
Esistono diversi calcoli, intesi come sistemi di regole volti a costruire derivazioni di formule:
• calcoli alla Hilbert, con assiomi e regole
utili per studire separatamente le proprietà dei segni logici
• calcoli della deduzione naturale
con regole di introduzione e di eliminazione per ciascun segno logico,
oltre a regole strutturali
13
• calcolo dei sequenti
che formalizza la generazione di derivazioni a partire da derivazioni
• calcolo della risoluzione
che lavora su un particolare formato delle formule, quello delle clausole
• tableaux e alberi di refutazione
basati sulla ricerca del controesempio
e altri.
Le regole sono di solito in numero finito ed effettivamente eseguibili. Una
regola si presenta nella forma
A1 , . . . , An
A
normalmente con n = 0, 1 o 2, dove A si chiama conclusione e A1 , . . . , An
premesse della regola. Si legge la regola dicendo che “A segue o deriva da
A1 , . . . , An ”.
La conclusione di una regola senza premesse si chiama anche assioma
logico.
Fissato un calcolo C, una derivazione di A da T nel calcolo è una successione finita A1 , . . . , An di formule tale che An è A e per ogni i, 1 ≤ i ≤ n, Ai o
è un elemento di T o deriva da formule precedenti della successione mediante
una delle regole del calcolo.
Se esiste una derivazione di A da T si dice che A è derivabile da T e si
scrive
T `C A,
se T = {A1 , . . . , An }
A1 , . . . , An `C A,
se T = ∅
`C A.
T ∪ {a} si scrive anche T, A.
14
1.5.1
Un calcolo deduttivo per la logica classica
Il calcolo deduttivo L è costituito dai seguenti assiomi e regole, dove A e B
sono formule qualunque. L’asterisco premesso ad alcune formule o derivazioni
indica quelle non accettabili nella logica intuizionistica.
assiomi
A1
A2
A3
A4
A5
A6
A7
A8
A9
∗
A10
A11
A12
A → (B → A)
(A → B) → ((A → (B → C)) → (A → C))
A → (B → A ∧ B)
A∧B → A
A∧B → B
A → A∨B
B → A∨B
(A → C) → ((B → C) → (A ∨ B → C))
(A → B) → ((A → ¬B) → ¬A)
¬¬A → A
A[x/t] → ∃xA
se t sostituibile a x in A
∀xA → A[x/t]
se t sostituibile a x in A
e
regole10
R1 A, A → B taglio o modus ponens
B
R2
C →A
C → ∀xA
se x non libera in C
R3
A→C
∃xA → C
se x non libera in C
Scriveremo T ` A per indicare che T `L A, cioè che A è derivabile da T in
questo calcolo logico. Se ` A, A è detta anche teorema logico.
Esempio Una derivazione di A → A è la seguente:
10
Sia in R2 che in R3 x può essere libera in A, è il caso più comune, ma anche no.
15
1.
2.
3.
4.
5.
(A → (A → A)) → ((A → ((A → A) → A)) → (A → A)) A2
A → (A → A)
A1
((A → ((A → A) → A)) → (A → A))
R1 da r.1 e r.2
A → ((A → A) → A)
A1
A→A
R1 da r.3 e r.4
Il primo risultato che si dimostra è
Teorema 1.5.1.1 (Teorema di deduzione). Per ogni T, A e B
T, A ` B se e solo se T ` A → B
purché (per il “solo se”) nella deduzione di B da T, A non si applichino le
quantificazioni delle regole R2 e R3 a variabili che sono libere in A. 2
Grazie al teorema di deduzione si possono formulare alcuni assiomi come
regole derivate; ad esempio da A9
A → B, A → ¬B
¬A
perché due applicazioni iterate del teorema di deduzione permettono di stabilire
A → B, A → ¬B ` ¬A.
La transitività dell’implicazione
A → B, B → C
A→C
segue da A → B, B → C, A ` C che si verifica con due applicazioni di R1.
Si ottengono anche regole che riguardano direttamente l’esistenza di derivazioni a partire da altre derivazioni (come poi formalizzato nel calcoo dei
sequenti), per esempio da A8:
T, A ` C e T, B ` C
T, A ∨ B ` C.
Esempi Man mano che si aggiungono teoremi, le indicazioni agli assiomi e regole e
a risultati precedenti si fanno più rari, e alcuni appelli espliciti ad assiomi e regole
vengono omessi.
16
1. A → A
2. A → (B → C) ` (A → B) → (A → C)
1.
2.
3.
4.
5.
A
A
A
A
A
→
→
→
→
→
(B
(B
(B
(B
(B
→
→
→
→
→
C), A
C), A
C), A
C), A
C)
→
→
→
→
B, A
B, A
B, A
B
`
`
`
`
`
B
B→C
C
A→C
(A → B) → (A → C)
3. C → A, C → B ` C → A ∧ B
1.
2.
3.
4.
5.
C
C
C
C
C
→
→
→
→
→
A, C
A, C
A, C
A, C
A, C
→
→
→
→
→
B, C
B, C
B, C
B, C
B
`
`
`
`
`
A
B
A → (B → A ∧ B)
A∧B
C → A∧B
4. ` ¬(A ∧ ¬A)
1 A ∧ ¬A → A
A4
2 A ∧ ¬A → ¬A A5
3 ¬(A ∧ ¬A)
5. ` A → ¬¬A
1.
2.
3.
4.
5.
6.
7.
8.
(¬A → A) → ((¬A → ¬A) → ¬¬A)
A9
A → ((¬A → A) → ((¬A → ¬A) → ¬¬A))
A1
(A → (¬A → A)) → (A → ((¬A → ¬A) → ¬¬A)) A2
A → (¬A → A)
A1
A → ((¬A → ¬A) → ¬¬A)
R1 da r.3 e r.4
(A → (¬A → ¬A)) → (A → ¬¬A)
da 3.
A → (¬A → ¬A)
da 1. e A1
A → ¬¬A
6. A → B ` ¬B → ¬A
1.
2.
3.
4.
A
A
A
A
→
→
→
→
B, ¬B, A
B, ¬B, A
B, ¬B
B
17
`
`
`
`
B
¬B
¬A
¬B → ¬A
7. ∗ ¬A → B ` ¬B → A
1.
2.
3.
4.
5.
¬A
¬A
¬A
¬A
¬A
→
→
→
→
→
B, ¬B, ¬A
B, ¬B, ¬A
B, ¬B
B, ¬B
B
`
`
`
`
`
B
¬B
¬¬A
A
¬B → A
8. ∗ ¬A → ¬B ` B → A
9. ` ¬¬¬A → ¬A
10. A → (B → C) ` B → (A → C)
1.
2.
3.
4.
A
A
A
A
→
→
→
→
(B
(B
(B
(B
→
→
→
→
C), A
C), A, B
C), B
C)
`
`
`
`
B→C
C
A→C
B → (A → C)
11. ` ¬A → (A → B)
1.
2.
3.
4.
5.
6.
A, ¬A, ¬B
A, ¬A, ¬B
A, ¬A
A, ¬A
¬A
`
`
`
`
`
`
A
¬A
¬¬B
B
A→B
¬A → (A → B)
12. ` ¬(A ∨ B) → ¬A ∧ ¬B
1.
2.
3.
4.
5.
A → A∨B
¬(A ∨ B) → ¬A
B → (A ∨ B)
¬(A ∨ B) → ¬B
¬(A ∨ B) → ¬A ∧ ¬B
13. ` ¬A ∧ ¬B → ¬(A ∨ B)
1. ¬A ∧ ¬B, A
` C
2. ¬A ∧ ¬B, B
` C
3. ¬A ∧ ¬B, A ∨ B ` C
..
.
6. ¬A ∧ ¬B, A ∨ B ` ¬C
7. ¬A ∧ ¬B
` ¬(A ∨ B)
18
A10
14. ` ¬A ∨ ¬B → ¬(A ∧ B)
1.
2.
3.
4.
5.
15.
∗
` ¬(A ∧ B) → ¬A ∨ ¬B
¬¬A ∧ ¬¬B
¬(¬A ∨ ¬B)
¬(¬A ∨ ¬B)
¬(A ∧ B)
¬(A ∧ B)
1.
2.
3.
4.
4.
16.
∗
A∧B → A
¬A → ¬(A ∧ B)
A∧B → B
¬B → ¬(A ∧ B)
¬A ∨ ¬B → ¬(A ∧ B)
`
`
`
`
`
A∧B
¬¬A ∧ ¬¬B
`A∧B
¬¬(¬A ∨ ¬B)
¬A ∨ ¬B
` A ∨ ¬A
1. ¬(A ∧ ¬A) ` ¬A ∨ ¬¬A 15.
2. ¬(A ∧ ¬A) ` ¬A ∨ A
A10 e 5.
3.
` ¬A ∨ A
4.
17. ¬A ∨ B ` A → B
1.
2.
3.
4.
A, ¬A,
A, B
A, ¬A ∨ B
¬A ∨ B
`
`
`
`
B
B
B
A→B
18. ∗ A → B ` ¬A ∨ B
1.
2.
3.
5.
A
A
A
A
→
→
→
→
B, ¬A
B, A
B, A
B, A ∨ ¬A
`
`
`
`
¬A ∨ B
B
¬A ∨ B
¬A ∨ B
Sussistono altre leggi che stabiliscono relazioni tra i diversi connettivi,
per esempio tra → e ∧ si ha
∗
con
` (A → B) → ¬(A ∧ ¬B)
1. A → B ` ¬A ∨ B
18.
2. A → B ` ¬A ∨ ¬¬B 8.
3. A → B ` ¬(A ∧ ¬B) 14.
19
e
∗
con
` ¬(A ∧ ¬B) → (A → B)
1. ¬(A ∧ ¬B) ` ¬A ∨ ¬¬B 15.
1. ¬(A ∧ ¬B) ` ¬A ∨ B
1. ¬(A ∧ ¬B) ` A → B
17.
Il calcolo L ristretto alle formule proposizionali e senza gli assiomi A11 e
A12 e le regole R2 e R3 si chiama calcolo proposizionale.
Per le leggi logiche riguardanti i rapporti tra i quantificatori e tra questi
e i connettivi, ricordiamo innanzi tutto che dalle regole R2 e R3 si ottengono
regole derivate come la seguente, spesso detta “generalizzazione universale”:
19. A ` ∀xA
1.
2.
3.
4.
A
A
A
A
`
`
`
`
C → A[x] A1, C un teorema
C → ∀xA R2
C
∀xA.
Una comoda regola per il quantificatore esistenziale è la seguente: scriviamo T, A `x B per indicare che nella derivazione non si sono usate le regole
R2 o R3 applicate alla variabile x, anche se questa occorre libera in A (sicché
si può invocare il teorema di deduzione per T ` A → B). Allora
T, A `x B
T, ∃xA ` B
se x è una variabile che non occorre in B, con la giustificazione
1.
2.
3.
4.
T, A
T
T
T, ∃xA
`x
`
`
`
B
A→B
∃xA → B
B.
I teoremi riguardanti i quantificatori sono interessanti nel caso che le
variabili quantificate occorrano libere nel raggio d’azione dei quantificatori,
ma sono banalmente validi anche se questo non occorre, per cui usiamo la
notazione A, B, . . ..
20
20. ` ∀xA ↔ ∀yA[x/y], per y non occorrente in A11
1. ∀xA ` A[x/y]
2. ∀xA ` ∀yA[x/y]
21. ` ∃xA ↔ ∃yA[x/y], per y non occorrente in A
22. ` ∀x(A[x] → B[x]) → (∀xA[x] → ∀xB[x])
1.
2.
3.
4.
5.
∀x(A
∀x(A
∀x(A
∀x(A
∀x(A
→
→
→
→
→
B), ∀xA
B), ∀xA
B), ∀xA
B)
B)
`
`
`
`
`
A→B
A
B
∀xA → B
∀xA → ∀xB
1.
2.
3.
4.
`
`
`
`
1.
2.
3.
4.
∀x¬A, A
∀x¬A, A
A
∃xA
`
`
`
`
A
¬A
¬∀x¬A
¬∀x¬A
1.
2.
3.
4.
5.
6.
¬∃xA, A
¬∃xA, A
¬∃xA
¬∃xA
¬∀x¬A
¬∀x¬A
`
`
`
`
`
`
∃xA
¬∃xA
¬A
∀x¬A
¬¬∃xA
∃xA
23. ` ∃x∀yA → ∀y∃xA
A → ∃xA
∀y(A → ∃xA)
∀yA → ∀y∃xA
∃x∀yA → ∀y∃xA
24. ` ∃xA → ¬∀x¬A
25.
∗
` ¬∀x¬A → ∃xA
11
Bastano condizioni più deboli, che y non sia libera e sia sostituibile a x in A; si osservi
che A[x/y][y/x] è A.
21
26. ` ∀xA → ¬∃x¬A
1.
2.
3.
4.
5.
27.
∗
∀xA, ¬A
∀xA, ¬A
∀xA, ¬A
∀xA, ∃x¬A
∀xA
`
`
`x
`
`
A
¬A
C
C contraddizione senza x
C
¬∃x¬A
` ¬∃x¬A → ∀xA
1. ¬∀x¬¬A → ∃x¬A
25.
2. ¬∃x¬A → ¬¬∀x¬¬A
3. ¬¬∀x¬¬ → ∀xA
28. ` ∃x¬A → ¬∀xA
1. ∀xA, ∃x¬A ` C
C contraddizione
2. ∃x¬A
` ¬∀xA
29.
∗
` ¬∀xA → ∃x¬A
1. ¬∃x¬A → ∀xA
27.
2. ¬∀xA → ¬¬∃x¬A
3. ¬∀xA → ∃x¬A
30. ` ∀x¬A → ¬∃xA
1. ∃xA → ¬∀x¬A
24.
2. ¬¬∀x¬A → ¬∃xA
3. ∀x¬A → ¬∃xA
31. ` ¬∃xA → ∀x¬A
1. A → ∃xA
2. ¬∃xA → ¬A
3. ¬∃xA → ∀x¬A
32. ` ∀x(A ∧ B) ↔ ∀xA ∧ ∀xB
33. ` ∃x(A ∨ B) → ∃xA ∨ ∃xB
1.
2.
3.
4.
5.
A
A
B
A∨B
∃x(A ∨ B)
22
`
`
`
`
`
∃xA
∃xA ∨ ∃xB
∃xA ∨ ∃xB
∃xA ∨ ∃xB
∃xA ∨ ∃xB
34. ` ∃xA ∨ ∃xB → ∃x(A ∨ B)
1.
2.
3.
4.
5.
35. ` A ∧ ∃xB → ∃x(A ∧ B),
1.
2.
3.
4.
1.
2.
3.
4.
A∧B
A, B
A, B
A ∧ ∃xB
∗
A∧B
A∧B
A∧B
∃x(A ∧ B)
∃x(A ∧ B)
A∧B
∃x(A ∧ B)
∃x(A ∧ B)
`
`
`
`
A
∃xB
A ∧ ∃xB
A ∧ ∃xB
x non libera in A
A
A
∀xB
∀xB
∀xB
A ∨ ∀xB
` ∀x(A ∨ B) → A ∨ ∀xB,
1.
2.
3.
4.
5.
6.
7.
`
`
`
`
x non libera in A
37. ` A ∨ ∀xB → ∀x(A ∨ B),
38.
A∨B
∃x(A ∨ B)
∃x(A ∨ B)
∃x(A ∨ B)
∃x(A ∨ B)
x non libera in A
36. ` ∃x(A ∧ B) → A ∧ ∃xB,
1.
2.
3.
4.
5.
6.
`
`
`
`
`
A
A
∃xA
∃xB
∃xA ∨ ∃xB
`
`
`
`
`
`
A∨B
∀x(A ∨ B)
B
A∨B
∀x(A ∨ B)
∀x(A ∨ B)
x non libera in A
∀x(A ∨ B), ¬A
∀x(A ∨ B), ¬A
∀x(A ∨ B), ¬A
∀x(A ∨ B), ¬A
∀x(A ∨ B)
∀x(A ∨ B)
∀x(A ∨ B)
23
`
`
`
`
`
`
`
A∨B
¬A
B
∀xB
¬A → ∀xB
¬¬A ∨ ∀xB
A ∨ ∀xB
39. ` ∀x(A → B) → (A → ∀xB),
1.
2.
3.
4.
∀x(A
∀x(A
∀x(A
∀x(A
1.
2.
3.
4.
A
A
A
A
x non libera in A
→
→
→
→
`
`
`
`
B), A
B), A
B), A
B)
A→B
B
∀xB
A → ∀xB
Viceversa
→
→
→
→
∀xB, A
∀xB, A
∀xB)
∀xB
40. ` ∃x(A → B) → (A → ∃xB),
41.
∗
∀xB
B
A→B
∀x(A → B)
x non libera in A
A → B, A
A → B, A
A→B
∃x(A → B)
1.
2.
3.
4.
`
`
`
`
` (A → ∃xB) → ∃x(A → B),
`
`
`
`
B
∃xB
A → ∃xB
A → ∃xB
x non libera in A
Con BHK non appare accettabile perché l’elemento che soddisfa ∃xB può
dipendere da una dimostrazione di A.
A → ∃xB ` ¬A ∨ ∃B
¬A
` A→B
¬A
` ∃x(A → B)
∃xB
` ∃x(A → B)
1.
2.
3.
4.
42.
∗
` ∀x(A → B) → ∃x(A → B),
1.
2.
3.
4.
5.
6.
B
B
¬A
∃x¬A
¬∀xA
¬∀xA
43. ` ∃x(A → B) → (∀xA → B),
x non libera in B
`
`
`
`
`
`
A→B
∃x(A → B)
A→B
A→B
A→B
∃x(A → B)
x non libera in B
1. A → B, ∀xA
` A
2. A → B, ∀xA
` B
3. ∃x(A → B), ∀xA ` B
24
Due formule A e B sono (deduttivamente) equivalenti se ` A ↔ B. Nel
presente contesto se si parla di equivalenza si intende quella deduttiva.
Una formula si dice in forma prenessa se è costituita da una lista iniziale di quantificatori, ciascuno con la sua variabile, detta prefisso e da una
sottoformula che è una formula proposizionale, detta matrice.
Utilizzando le equivalenze sopra derivate, incluse alcune asteriscate, si
dimostra
Teorema 1.5.1.2 (Forma prenessa). Per ogni formula A, esiste una formula
in forma prenessa con le stesse variabili libere di A che è equivalente ad A.
2
Una formula si dice universale, o di classe ∀, se è in forma prenessa e
il suo prefisso è costituito da una lista di quantificatori universali. Si dice
esistenziale, o di classe ∃, se è in forma prenessa e il suo prefisso è costituito
da una lista di quantificatori esistenziali.
Una formula si dice universale-esistenziale , o di classe ∀∃, se è in forma
prenessa e il suo prefisso è costituito da una lista di quantificatori universali
seguita da una lista di quantificatori esistenziali, del tipo
∀x11 . . . ∀x1n ∃x21 . . . ∃x2m B,
B la matrice.
In modo analogo si definiscono classi come ∀∃∀ e cosı̀ via.
1.6
Deduzione e conseguenza
Un calcolo C si dice corretto se per ogni T ed A,
se T `C A allora T |= A.
Il calcolo che abbiamo presentato è corretto, perché tutti gli assiomi sono
formule valide, e per ogni regola la conclusione della regola è conseguenza
logica delle premesse.
Un calcolo C si dice completo se per ogni A
se |= A allora `C A12
12
Segue allora per il teorema di deduzione che se A1 , . . . , An |= A allora A1 , . . . , An ` A.
25
e fortemente completo se per ogni T ed A
se T |= A allora T `C A.
Per il calcolo che abbiamo presentato vale il
Teorema 1.6.1 (Teorema di completezza forte). Se T |= A allora T ` A. 2
Un insieme T si dice non contraddittorio se T 6` A ∧ ¬A per ogni A.
Lemma 1.6.1. T ∪ {¬A} è non contraddittorio se e solo se T 6` A. 2
Si noti che in base alle definizioni T ∪ {¬A} è soddisfacibile se e solo se
T 6|= A.
Corollario 1.6.1 (Teorema di esistenza del modello). Un insieme T ha un
modello se e solo se T è non contraddittorio. 2
L’enunciato del corollario è equivalente a quella del Teorema 1.6.1, ed è
talvolta chiamato anch’esso teorema di completezza forte.
1.7
Linguaggi con uguaglianza
Se nell’alfabeto del linguaggio L è presente un simbolo predicativo a due
argomenti, e si decide di chiamarlo segno di uguaglianza, si dice che L è un
linguaggio con uguaglianza. Tale simbolo si denota allora quasi sempre =.
Nei linguaggi con uguaglianza i simboli funzionali possono essere evitati, a
favore dei soli simboli predicativi.
Una struttura M è normale se l’interpretazione =M del simbolo = è la
diagonale di M , cioè {ha, ai | a ∈ M }.
La logica dell’uguaglianza è la logica basata sulla relazione di conseguenza
T |== A
definita da
per ogni M normale, se M |= T allora M |= A.
La logica dell’uguaglianza è assiomatizzabile, nel senso che esistono calcoli
logici C tali che valga il teorema di completezza
|== A se e solo se `C A.
Tali calcoli si ottengono da quelli generali, per esempio L= da L, aggiungendo assiomi specifici per l’uguaglianza, di solito i seguenti, o meglio la
chiusura universale delle seguenti formule:
26
assiomi dell’uguaglianza
U1
U2
x=x
(schema) per ogni simbolo funzionale f a n argomenti del linguaggio,
e per variabili tutte distinte
x1 = y1 ∧ . . . ∧ xn = yn → f (x1 , . . . , xn ) = f (y1 , . . . , yn )
U3
(schema) per ogni simbolo predicativo P a n argomenti del linguaggio,
e per variabili tutte distinte
x1 = y1 ∧ . . . ∧ xn = yn → (P (x1 , . . . , xn ) → P (y1 , . . . , yn )).
Si continua a indicare con ` la derivabilità nel calcolo L= , anche con uguaglianza.
Si dimostra il
Lemma 1.7.1. Per ogni formula A[x1 , . . . , xn ] e per qualunque scelta di
termini t1 , . . . , tn , s1 , . . . , sn
` t1 = s1 ∧ . . . ∧ tn = sn → (A[x1 /t1 , . . . , xn /tn ] ↔ A[x1 /s1 , . . . , xn /sn ]). 2
Si noti che gli assiomi permettono sostituzioni di termini anche solo ad
alcune occorrenze di altri; per esempio si vuole che
t = s → (P (t, t) → P (t, s))
e questo si può ottenere con
t = t ∧ t = s → P (t, t) → P (t, s)).
Spesso si danno come assiomi espliciti sia la simmetria
x=y → y=x
che la transitività
x = y ∧ y = z → x = z,
ma questi si deducono da U 3.
27
La simmetria segue da
x = y → (x = x → y = x)
e la transitività da
y = x → (y = z → x = z)
e dalla simmetria.
Vale per la logica classica dell’uguaglianza anche il teorema di completezza
forte; esso si dimostra come per la logica senza uguaglianza, aggiungendo a
T gli assiomi dell’uguaglianza e trattando = come un simbolo predicativo
come gli altri.
Teorema 1.7.1 (Teorema dell’esistenza del modello). Se L è numerabile, e
se T è un insieme non contraddittorio, allora T ha un modello normale finito
o numerabile. 2
Restano validi i teoremi di Löwenheim-Skolem, relativizzati a strutture
normali, e i teoremi sulle forme normali.
28
2
Logica intuizionista
Un calcolo logico intuizionista H è stato presentato per la prima volta nel 1930
da Arendt Heyting.13 Esso si ottiene da quello classico L di 1.5.1 modificando
l’assioma A10:
assiomi
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A → (B → A)
(A → B) → ((A → (B → C)) → (A → C))
A → (B → A ∧ B)
A∧B → A
A∧B → B
A → A∨B
B → A∨B
(A → C) → ((B → C) → (A ∨ B → C))
(A → B) → ((A → ¬B) → ¬A)
¬A → (A → B)
A[x/t] → ∃xA
se t sostituibile a x in A
∀xA → A[x/t]
se t sostituibile a x in A
regole
R1 A, A → B taglio o modus ponens
B
R2
C →A
C → ∀xA
se x non libera in C
R3
A→C
∃xA → C
se x non libera in C
13
A. Heyting, “Die formalen Regeln der intuitionistischen Logik”, Sitzungsberichte der
Preussischen Akademie der Wissenschaften, physikakisch-mathematische Klasse, 1930, pp.
42-56 e in “Die formalen Regeln der intuitionistischen Mathematik”, ibidem, pp. 57-71 e
158-69.
29
Scriveremo T `H A per indicare che A è derivabile da T in questo calcolo
logico. Se `H A, A è detta anche teorema logico intuizionistico.
Il teorema di deduzione 1.5.1.1 vale anche per H.
In H non sono derivabili né
¬¬A → A
né
A ∨ ¬A,
che peraltro sono equivalenti in H. infatti
1. A
`H ¬¬A → A
2. ¬A
`H ¬¬A → A
3. A ∨ ¬A `H ¬¬A → A
A1
A10
A8.
Viceversa nella dimostrazione della 16. si è usata la doppia negazione e la
15. che a sua volta fa solo uso della doppia negazione.
Un’altra derivazione classica di A ∨ ¬A è la seguente
1.
2.
3.
4.
5.
6.
7.
8.
¬(A ∨ ¬A), A
¬(A ∨ ¬A), A
¬(A ∨ ¬A)
¬(A ∨ ¬A), ¬A
¬(A ∨ ¬A)
¬(A ∨ ¬A)
`H
`H
`H
`H
`H
`H
`H
`L
A ∨ ¬A
¬(A ∨ ¬A)
¬A
A ∨ ¬A
A ∨ ¬A
¬(A ∨ ¬A)
¬¬(A ∨ ¬A)
A ∨ ¬A
A6
1.
A9
A6
da 3. e r.4
A6 da r.5 e r.6
∗
A10 da r.7.
Per dimostrare che una formula non è derivabile in un calcolo si usa di
solito una semantica; per ora ci limiteremo ad affermarlo, quando è il caso.14
Ovviamente tutti i teoremi intuizionistici sono teoremi di L, perché
11. `L ¬A → (A → B).
Tutti i teoremi logici di 1.5.1 senza asterisco sono anche teoremi intuizionistici. In particolare lo sono
14
Esistono anche metodi non semantici; ad esempio S. C. Kleene, Introduction to Metamathematics, North Holland, Amsterdam, 1952, §80 presenta un metodo di decisione per
l’esistenza di derivazioni basato sul teorema di forma normale di Gentzen; in questo modo
si possono giustificare le affermazioni di non derivabilità.
30
5. A → ¬¬A
e
9. ¬¬¬A → ¬A
che con
44. ¬A → ¬¬¬A
1. ¬A, ¬¬A `H contraddizione
2. ¬A
`H ¬¬¬A
dà
45. ¬¬¬A ↔ ¬A.
La seguente è la derivazione intuizionistica implicitamente vista sopra di
46. ¬¬(A ∨ ¬A)
1.
2.
3.
4.
5.
6.
¬(A ∨ ¬A), A
¬(A ∨ ¬A), A
¬(A ∨ ¬A)
¬(A ∨ ¬A), ¬A
¬(A ∨ ¬A)
`H
`H
`H
`H
`H
`H
A ∨ ¬A
¬(A ∨ ¬A)
¬A
A ∨ ¬A
¬¬A
¬¬(A ∨ ¬A)
da cui segue anche
47. ¬¬(¬¬A → A).
Valgono inoltre
48. (A → ¬A) → ¬A
da A9 con A al posto di B e per la 1.
49. (A → B) → (¬¬A → ¬¬B)
con due applicazioni della contrapposizione 6., e
31
50. ¬¬(A → B) → (¬¬A → ¬¬B)
1.
2.
3.
4.
5.
6.
¬B, A → B, A
¬B, A
¬B
¬B
¬¬(A → B)
¬¬(A → B)
`H
`H
`H
`H
`H
`H
B
¬(A → B)
A → ¬(A → B)
¬¬(A → B) → ¬A
¬B → ¬A
¬¬A → ¬¬B
51. A → (B → C), ¬¬A, ¬¬B `H ¬¬C
52. ¬¬(A → B), ¬¬(B → C) `H ¬¬(A → C)
53. ¬¬(A ∧ B) → ¬¬A ∧ ¬¬B
1. ¬A ∨ ¬B
`H ¬(A ∧ B)
14.
2. ¬¬(A ∧ B) `H ¬(¬A ∨ ¬B)
3. ¬¬(A ∧ B) `H ¬¬A ∧ ¬¬B 12.
54. ¬¬A ∨ ¬¬B → ¬¬(A ∨ B)
1.
2.
3.
4.
5.
A
¬(A ∨ B)
¬¬A
¬¬B
¬¬A ∨ ¬¬B)
55. ¬¬(A → C) `H ¬¬(∃xA → C)
1.
2.
3.
4.
5.
6.
7.
¬¬(A → C) `H
¬¬(A → C) `H
¬¬(A → C) `H
`H
`H
`H
¬¬(A → C) `H
`H
`H
`H
`H
`H
A∨B
¬A
¬¬(A ∨ B)
¬¬(A ∨ B)
¬¬(A ∨ B)
x non libera in C
¬¬A → ¬¬C
(∃x¬¬A) → ¬¬C
¬¬((∃x¬¬A) → ¬¬C)
A → ¬¬A
¬¬(∃xA → ∃x¬¬A)
¬¬(¬¬C → C)
¬¬(∃xA → C)
52 e r. 3, 5 e 6.
Non vale invece l’analogo di 55. per il quantificatore universale.
32
Altri calcoli logici intuizionistici
Un diverso, ma equivalente sistema alla Hilbert per la logica proposizionale intuizionistica (per il calcolo dei predicati assiomi e regole sono sempre
gli stessi) si ottiene modificando il seguente sistema di assiomi per la logica
classica
A1
A2
A3
A4
A → (B → A)
(A → (B → C)) → ((A → C) → (B → C))
¬A → (A → B)
(A → B) → ((¬A → B) → B)
che per la logica classica sarebbero sufficienti in considerazione della derivabilità degli altri connettivi, ma a cui si aggiungono quelli relativi alla introduzione ed eliminazione di ∨ e ∧, che sono sufficienti per dimostrare che
{¬, →} è un sistema adeguato:15
B1 A ∧ B → A
B2 A ∧ B → B
B3 A → (B → (A ∧ B)
B4 A → A ∨ B
B5 B → A ∨ B
B6 (A → C) → ((B → C) → (A ∨ B → C))
La regola di inferenza è sempre il modus ponens.
Il calcolo intuizionista si ottiene sostituendo A4 con la legge speciale di
riduzione all’assurdo:
A40 (A → ¬A) → ¬A
In questo caso, il calcolo classico (o una sua formulazione equivalente) si
ottiene semplicemente aggiungendo A ∨ ¬A a quello intuizionista.
Deduzione naturale
Usiamo la notazione dei seguenti; le lettere greche maiuscole indicano
insiemi finiti di formule; Γ, ∆ sta per Γ ∪ ∆ e Γ, A per Γ ∪ {A}. Le formule
15
Si svolgano per esercizio le derivazioni che danno la riduzione, notando l’uso di A4.
33
a sinistra del segno : sono le ipotesi; se l’insieme delle ipotesi è vuoto, non si
scrive.
Le regole si dividono in strutturali e logiche; esiste una sola regola strutturale, il thinning:
Γ:B
Γ, A : B
Le regole logiche si distinguono in regole di introduzione (sulla sinistra),
e di eliminazione (sulla destra).
Γ:A∧B
Γ:A
Γ:A ∆:B
Γ, ∆ : A ∧ B
Γ:A
Γ:A∨B
Γ:A∧B
Γ:B
Γ : A ∨ B ∆, A : C Θ, B : C
Γ, ∆, Θ : C
Γ:B
Γ:A∨B
Γ:A ∆:A→B
Γ, ∆ : B
Γ, A : B
Γ:A→B
Γ : A ∆ : ¬A
Γ, ∆ : B
Γ, A : B ∆, A : ¬B
Γ, ∆ : ¬A
Γ : ∀xA(x)
Γ : A(t)
Γ : A(y)
Γ : ∀xA(x)
Γ : ∃xA(x) ∆, A(y) : C
Γ, ∆ : C
Γ : A(t)
Γ : ∃xA(x)
Nelle regole per i quantificatori si intende che y è una variabile e t un
termine entrambi liberi per x in A; nell’introduzione dell’universale y non
occorre libera in Γ : ∀xA(x); nell’eliminazione dell’esistenziale y non occorre
libera in Γ, ∆ : C o in ∃xA(x).
34
Risultati metamatematici sulla relazione
tra logica intuizionistica e logica classica
Sulla base dei risultati di derivabilità visti, si dimostra facilmente, per induzione sulla lunghezza di una derivazione che, indicando con ¬¬T l’insieme
{¬¬A | A ∈ T },
Teorema 2.0.2. (Glivenko 1929).16 (a) Se T `L A nel calcolo proposizionale,
allora ¬¬T `H ¬¬A;
(b) se ¬T, S `L ¬A nel calcolo proposizionale, allora ¬T, ¬¬S, `H ¬A;
(c) lo stesso di (a) e (b) per il calcolo dei predicati, purché non si usi nella
derivazione da L la regola R2. 2
Corollario 2.0.0.1. (Gödel, 1932).17 Se A è una formula proposizionale che
contiene solo i connettivi ∧ e ¬, allora se `L A allora `H A.
Dimostrazione se A è una congiunzione, o di proposizioni atomiche o
di proposizioni che iniziano con ¬, e se è derivabile, tutti i congiunti sono
derivabili, ma nessuna proposizione atomica è un teorema, quindi sono tutte
negazioni, e per il teorema sono allora derivabili intuizionisticamente. 2
Esempio I teoremi 4.,12. e 13. rientrano sotto le condizioni del corollario.
Ricordiamo le leggi che regolano i rapporti tra i connettivi: per 12. e 13.
vale
¬A ∧ ¬B ↔ ¬(A ∨ B),
mentre vale
¬A ∨ ¬B → ¬(A ∧ B)
ma
6`H ¬(A ∧ B) → ¬A ∨ ¬B.
L’aritmetica intuizionistica HA ha gli assiomi di Peano del primo ordine
sulla base della logica H.
Gli assiomi di Peano al primo ordine sono
16
V. I. Glivenko, “Sur quelques points de la logique de M. Brouwer”, Académie royale
de Belgique. Bulletin de la classe de sciences. (5), 15, 1929, pp. 183-88.
17
K. Gödel, “Zur intuitionistischen Arithmetik und Zahlentheorie”, Ergebnisse eines
matehmatischen Kolloquiums, Heft 4, 1933, pp. 34-38, in Collected Works, Vol. I , Oxford
Univ. Press, New York, 1986, pp. 286-95; trad. it. in Opere, vol. 1, Bollati Boringheiri,
Torino,pp. 212-17. Gödel cita Glivenko.
35
x0 6= 0
x0 = y 0 → x = y
x+0=x
x + y 0 = (x + y)0
x·0=0
x · y0 = x · y + x
A[x/0] ∧ ∀x(A → A[x/x0 ]) → ∀xA
per ogni formula A.
Essi formano la teoria PA se la logica sottostante è L, la teoria HA se la
logica sottostante è H.
Per ogni formula A, si definisca A0 nel modo seguente
P0
(A → B)0
(A ∧ B)0
(A ∨ B)0
(¬A)0
(∀xA)0
(∃xA)0
=
=
=
=
=
=
=
P
P atomica
0
0
¬(A ∧ ¬B )
A0 ∧ B 0
¬(¬A0 ∧ ¬B 0 )
¬(A0 )
∀xA0
x una variabile
0
¬∀x¬A
x una variabile
mentre Ao è definita nello stesso modo salvo che per il caso dell’implicazione:
Po
(A → B)o
(A ∧ B)o
(A ∨ B)o
(¬A)o
(∀xA)o
(∃xA)o
=
=
=
=
=
=
=
P
P atomica
o
o
A →B
Ao ∧ B o
¬(¬Ao ∧ ¬B o )
¬(Ao )
∀xAo
x una variabile
o
¬∀x¬A
x una variabile.
Sia A† infine ottenuta da A rimpiazzando ogni sottoformula atomica P
con ¬¬P . Nel calcolo classico A, A0 , Ao e A† sono tutte equivalenti.
Teorema 2.0.3. (a) Se A è una formula proposizionale, se `L A allora `L A0
(Gödel, 1932);
(b) se A è una formula aritmetica, se T `L A nell’aritmetica classica
allora T 0 `H A0 nell’aritmetica intuizionista (Gödel, 1932);
36
(c) se A è una formula aritmetica, se T `L A nell’aritmetica classica
allora T o `H Ao nell’aritmetica intuizionista (Gentzen, 1936);
(d) se A è una formula proposizionale, predicativa o aritmetica, se T `L A
allora T o† `H Ao† . 2
Corollario 2.0.0.2. L’aritmetica classica è non contraddittoria, se quella
intuizionistica lo è. 2
La traduzione 0 di Gödel si chiama anche “traduzione negativa”, perché
le traduzioni sono formule senza gli operatori intuizionisticamente “positivi”
∨ ed ∃.
37
i contributi di gödel all’intuizionismo
Gödel nel 1932-3 scrive tre brevi articoli sull’intuizionismo. Uno è già
stato citato.
1. Nel primo18 dimostra
I. Non esiste alcuna realizzazione con un numero finito di elementi
(valori di verità) per cui le formule dimostrabili in H, e solo quelle, siano soddisfatte (cioè diano valori designati per assegnazioni
arbitrarie).
La terminologia è quella delle logiche a più valori, e più avanti Gödel dà un
esempio di una realizzazione Sn , con un solo elemento designato, definita da
Elementi: {1, 2, . . . , n}; elemento designato: 1;
a ∨ b = min(a, b); , a ∧ b = max(a, b);
a ⊃ b = 1 per a ≥ b; a ⊃ b = b per a < b;
¬a = n per a 6= n, ¬n = 1.
La dimostrazione consiste nell’osservare che le formule Fn
Σ
≤i≤k≤n (ai
⊃⊂ ak ),
dove Σ è la disgiunzione generalizzata e le aj sono proposizioni atomiche,
sono soddisfate in ogni realizzazione con meno di n elementi in cui siano
soddisfatte tutte le formule dimostrabili in H.
Infatti per ogni assegnazione a due elementi ai e ak sarà assegnato uno
stesso valore e, e la formula avrà un valore designato perché a ⊃⊂ a. ∨ b è
dimostrabile in H.
In particolare in ogni Sn sono soddisfatte tutte le formule di H e tutte
le Fi con n < i, mentre tutte le Fi con i ≤ n non sono soddisfatte. Quindi
nessuna Fn è dimostrabile in H.
Se si indica con Ln l’insieme delle formule soddisfatte in Sn si ha
L = L2 ⊃ L3 ⊃ . . .
18
“Zum intuitionistichen Aussagenkalküls”, Anzeiger der Akademie der Wissenschaften
in Wien 69 (1932), pp. 65-6; trad. inglese in Collected Works, Vol. I , Oxford Univ.
Press, New York, 1986, pp. 222-5; trad. it. in Opere, vol. 1, Bollati Boringhieri, Torino,
1999, pp. 160-1
38
una gerarchia di sistemi di forza descrescente che contengono tutti H, che è
il secondo risultato enunciato da Gödel nel lavoro.
L’ultima osservazione, senza alcuna indicazione di prova, è che “vale in
piena generalità che una formula della forma A ∨ B può essere dimostrabile
in H solo se o A o B sono provabili in H”.
Questo risultato è stato dimostrato da Gentzen nel 1935.
2. Nel già citato lavoro “Zur intuitionistischen Arithmetik und Zahlentheorie”, presentato al colloquium di Menger nel giugno del 1932, Gödel dimostra
l’interpretazione negativa.
Kolmogorov19 aveva considerato una traduzione più complicata in cui si
inseriva ¬¬ di fronte a ogni sottoformula, e aveva trattato in dettaglio solo
il frammento proposizionale con → e ¬.
Lo stesso risultato di Gödel fu provato da Bernays e Gentzen nel 1933,
ma Gentzen ritirò il suo lavoro quando seppe di quello di Gödel, del 1932,
pubblicato 1933, e lo pubblicò poi nel 1936.
Alla fine dell’articolo Gödel commenta:
Il teorema [. . . ] mostra che il sistema dell’aritmetica e teoria
dei numeri intuizionista è solo apparentemente più restrittivo di
quello classico, e in effetti lo contiene, sia pure con una interpretazione in un certo senso differente. La ragione sta nel fatto il
divieto intuizionista di riformulare le proposizioni universali negate come pure proposizioni esistenziali cessa di avere effetto perché
il predicato di assurdità può essere applicato a proposizioni universali, e questo porta a proposizioni che sono formalmente le
stesse di quelle asserite nella matematica classica. L’intuizionismo sembra introdurre genuine restrizioni solo nell’analisi e nella
teoria degli insiemi; queste restrizioni tuttavia sono dovute al rifiuto non del principio del terzo escluso, ma dei concetti introdotti
con definizioni impredicative. Le considerazioni precedenti, naturalmente, forniscono una dimostrazione intuizionistica di non
contraddittorietà per l’aritmetica e la teoria dei numeri calssica.
Questa dimostrazione tuttavia, non è ‘finitaria’ nel senso in cui
Herbrand, seguendo Hilbert, usava il termine.
19
A. N. Kolmogorov, “Sul principio del terzo escluso”, (in russo), Mathematicheskii
sbornik . 32, 1925, pp. 646-67; trad. inglese in J. Van Heijenoort (ed.), From Frege to
Gödel , Harvard Univ. Press, Cambridge MA, 1967 pp. 414-37. Si veda anche Kleene, cit.,
pp. 493-501.
39
Heyting risponde20 : “Tuttavia per gli intuizionisti questa intepretazione
è la cosa essenziale”.
L’affermazione che l’intuizionismo introduce restrizioni solo nell’analisi
e nella teoria degli insiemi va qualificata considerando che l’interpretazione
negativa è stata estesa a diversi sistemi di aritmetica del secondo ordine,
con l’assioma di comprensione non ristretto, alla teoria dei tipi e a teorie
degli insiemi. Ma Gödel riteneva che l’intuizionismo non dovesse accettare le
definizioni impredicative, e questa è la restrizione a cui forse si riferisce, non
alla impossibilità di estendere l’interpretazione negativa21 .
Bernays22 ricorda che il lavoro di Gödel fece capire ai membri della scuola
di Hilbert che esistevano alternative al ragionamento finitistico come base
della metamatematica, e che i principi dell’intuizionismo andavano al di là
del finitismo.
I sistemi di valori di verità Sn sono i primi esempi di quelle che sarebbero state
chiamate algebre di Heyting.
Un’algebra di Heyting è un reticolo con massimo e minimo e pseudocomplemento. Un reticolo è una struttura con due operazioni ∨ e ∧ che soddisfano le
proprietà commutativa, associativa, di idempotenza23 e di assorbimento24 .
Si definisce un ordine parziale con a ≤ b se e solo se a ∧ b = a, e si indica con
0 il minimo e con 1 il massimo.
In alternativa un reticolo è un insieme parzialmente ordinato tale che per ogni
due elementi esistono l’estremo superiore e l’estremo inferiore, che si denotano
rispettivamente ∨ e ∧.
Il pseudocomplemento di a rispetto a b, indicato con a → b è il massimo x per
cui a ∧ x ≤ b.
Si pone ¬x uguale a x → 0.
Il pseudocomplemento si può anche definire assiomaticamente con
a→a
a ∧ (a → b)
b ∧ (a → b)
a → (b ∧ c)
=
=
=
=
1
a∧b
b
(a → b) ∧ (a → c)
20
A. Heyting, Mathematische Grundlagenforschung. Intuitionismus. Beweistheorie, Ergebnisse der Mathematik und ihrer Grenzgebiete, Springer, Berlin, vol. 3, n. 4, pp.
iv-73.
21
Si veda la nota introduttiva di A. S. Troelstra al lavoro nelle Collected Works.
22
P. Bernays, “Hilbert, David”, in P. Edwards (ed.), The encyclopedia of philosophy,
MacMillan and the Free Press, New York, vol. 3, 1967, pp. 496-504.
23
a ∨ a = a e a ∧ a = a.
24
a ∧ (a ∨ b) = a ∨ (a ∧ b) = a.
40
Esempi di algebre di Heyting sono:
1. Ogni algebra di Boole, con p → q = ¬p ∨ q.
2. Insiemi totalmente ordinati con massimo e minimo, con le definizioni analoghe a quelle di Sn (Sn deve essere inteso come ordinato da >, con 1 massimo
e n minimo).
3. Gli insiemi aperti di uno spazio topologico, con A → B definito come l’interno
di Ac ∪ B.
L’algebra di Heyting {0, 1/2, 1}, con 0 minimo e 1 massimo, falsifica il principio
del terzo escluso:
1/2 ∨ ¬1/2 = 1/2 ∨ (1/2 → 0) = 1/2 ∨ 0 = 1/2.
3. In “Eine Interpretation des intuitionistischen Aussagenkalküls”25 Gödel
mostra come si possa interpretare il calcolo proposizionale di Heyting nel
sistema logico S che si ottiene aggiungendo a quello classico il concetto di
“p è dimostrabile”, rappresentato da Bp, con gli assiomi
1. BP → p,
2. Bp → .B(p → q) → Bq,
3. Bp → BBp
e la regola
A
BA.
La traduzione è data dalla seguente tabella, dove Gödel usa simboli diversi
per i connettivi intuizionistici, a sinistra, e per quelli classici:
¬p
∼ BP
p ⊃ q Bp → Bq
p ∨ q Bp ∨ Bq
p∧q
p.q
25
in Ergebnisse eines mathematischen Kolloquiums, 4 (1933), pp. 39-40; trad. inglese
in Collected Works Vol. I , cit., pp. 300-3; trad. it. in Opere, vol. 1, cit., pp. xxxx
41
Gödel osserva che si potrebbe tradurre ¬p con B ∼ Bp e p ∧ q con Bp.Bq e
si avrebbe lo stesso risultato.
Il risultato è che la traduzione di una formula che è un teorema di H è
derivabile in S.
Gödel esprime la congettura che forse è vero il viceversa. Il viceversa è
stato dimostrato da McKinsey e Tarski nel 1948 con metodi semantici.
Gödel osserva ancora che la traduzione di p ∨ ¬p non è derivabile in S
e non lo è in generale BP ∨ BQ se non è derivabile uno dei due disgiunti.
Anche questo è stato dimostrato da McKinsey e Tarski.
Il concetto “dimostrabile” deve essere inteso in senso informale, e non riferito a un preciso sistema S. Infatti, osserva Gödel, se S contiene l’aritmetica,
allora
B(Bp → p)
che è derivabile in S, non può essere vero per la dimostrabilità in S, altrimenti
B(0 6= 0) → 0 6= 0
sarebbe dimostrabile in S, quindi
∼ B(0 6= 0),
che esprime la non contraddittorietà di S, sarebbe dimostrabile in S, contro
il secondo teorema di incompletezza.
Il sistema S è equivalente a un sistema di implicazione stretta di Lewis,
ed è noto come S4 con questa assiomatizzazione di Gödel.
Il risultato è stato esteso alla logica predicativa da Rasiowa e Sikorski nel
1953 con la traduzione
(∀xA)0 = ∀xA0 e (∃xA)0 = ∃x2A0 ;
in seguito anche all’aritmetica intuizionista con estensioni modali di PA.
La semantica di Kripke per l’intuizionismo si deriva da quella modale con
la traduzione di Gödel.
42
Semantica di Kripke
Un modello proposizionale di Kripke è una terna hK, ≤, i, dove h≤i è
un insieme parzialmente ordinato abitato e, indicando con P l’insieme delle
lettere proposizionali, è una relazione ⊆ K × P tale che
k P ∧ k 0 ≥ k → k 0 P.
La relazione , detta di forcing, si estende alle proposizioni con
k A ∧ B sse k A e k B
k A ∨ B sse k A o k B
k A → B sse per ogni k 0 ≥ k, se k 0 A allora k 0 B.
Se esiste nell’alfabeto ⊥ allora si chiede che k 6 ⊥, e ne segue
k ¬A sse per ogni k 0 ≥ k k 0 6 A
oppure si prende questa condizione per definizione.
Si ha
Lemma k ¬¬A se e solo se per ogni k 0 ≥ k non si dà che per ogni k 00 ≥
k 0 k 00 6 A. 2
Classicamente: per ogni k 0 ≥ k esiste k 00 ≥ k 0 tale che k 00 A.
Lemma Per ogni formula A e ogni k, k A ∧ k 0 ≥ k → k 0 A. 2
Una formula A è valida in k ∈ K in un modello K se k A. Una
formula A si dice valida in K se A è valida in ogni j ∈ K. Una formula A è
intuizionisticamente valida se A è valida in ogni K.
Gli elementi di un modello di Kripke si chiamano anche mondi, soprattutto nei casi di logica modale; nel caso della logica intuizionistica alla terminologia dei mondi si preferisce quella delle informazioni, o conoscenze,
disponibili ai vari stadi, conoscenze che una volta acquisite restano invariate,
mentre se ne possono aggiungere nuove, anche in modi alternativi.
Esempi
Il seguente modello, dove con la notazione usata si intende che 1 P ,
43
1•P
2•
•
0
è tale che
h1, P i ∈ , mentre h2, P i 6∈ .
0 6 ¬P perché l’estensione del nodo 1 forza P .
2 ¬P per mancanza di estensioni; quindi 0 6 ¬¬P .
Dunque 0 6 ¬¬P ∨ ¬P .
Il modello
1 • P, Q
•
0
è tale che 0 6 (P → Q) → (¬P ∨ Q); infatti 0 6 Q e 0 6 ¬P , in quanto ha
un’estensione che forza P ; d’altra parte 0 P → Q perché ogni estensione
di 0 che forza P forza anche Q.
Il modello
1•P
2•Q
•
0
stabilisce che non è K-valido (P → Q)∨(Q → P ). Infatti 0 6 P → Q perché
1 P ma 1 6 Q, e analogamente per Q → P .
Il modello
44
2•
3•P
1•
4•
•
0
stabilisce che non è K-valido (¬¬P → P ) ∨ (¬P ∨ ¬¬P ). Infatti 0 6 ¬P
perché 3 P ; 0 6 ¬¬P perché 2 ¬P ; 0 6 ¬¬P → P perché 4 ¬¬P
mentre 4 6 P , quindi neanche 0 forza ¬¬P → P .
Per i sistemi di logica intuizionistica vale, come vedremo, un teorema
di correttezza rispetto ai modelli di Kripke (oltre a un teorema di completezza), quindi un modello in cui A non è valida dimostra che A non è
intuizionisticamente provabile.
Un modello di Kripke per la logica dei predicati è una quaterna K =
hK, ≤, D, i dove ≤ è un ordine parziale su k e D è una funzione che assegna
insiemi abitati a ogni k ∈ K in modo che
k ≤ k 0 → Dk ⊆ Dk0
e la relazione Sè definita tra elementi di K e enunciati atomici del linguaggio,
ampliato con k∈K Dk , R(d1 , . . . , dn ), con i di ∈ Dk in modo che
k R(d1 , . . . , dn ) ∧ k ≤ k 0 → k 0 R(d1 , . . . , dn ).
La relazione si estende a tutte le formule con le condizioni proposizionali
k
k
k
k
k
A∧B
A∨B
A→B
6 ⊥
¬A
sse k A e k B
sse k A o k B
sse per ogni k 0 ≥ k, se k 0 A allora k 0 B
sse per ogni k 0 ≥ k k 0 6 A
e con
45
k ∃xA(x) sse esiste d ∈ Dk t.c. k A(d)
k ∀xA(x) sse per ogni k 0 ≥ k, d ∈ Dk . k 0 A(d).
Lemma Per ogni enunciato A e ogni k, k A ∧ k 0 ≥ k → k 0 A. 2
Esempi Nel modello
1 • D1 = {a, , b}, R, R0 (a)
• D0 = {a}, R0 (a)
0
si ha
0 6 ∀x(R ∨ R0 (x)) → R ∨ ∀xR0 (x),
dove R non contiene x libera, perché
0 ∀x(R ∨ R0 (x)) in quanto 0 R0 (a) e quindi 0 R ∨ R0 (a); inoltre
1 R e quindi 1 R ∨ R0 (a), e anche 1 R ∨ R0 (b).
Invece 0 6 R e pure 0 6 ∀xR0 (x), in quanto 1 6 R0 (b). 2
A differenza di ¬¬(A ∨ ¬A), che è intuizionisticamente valida, non lo è
¬¬∀x(R(x) ∨ ¬R(x)), come mostra il seguente modello infinito
K2
..
.
• {0, 1, 2}
K1 • {0, 1}
R(0), R(1)
R(0)
K0 • {0}
dove k0 6 ¬¬∀x(R(x) ∨ ¬R(x)).
46
Supponiamo infatti che k0 ¬¬∀x(R(x) ∨ ¬R(x)); allora per ogni ki
deve essere ki 6 ¬∀x(R(x) ∨ ¬R(x)), quindi deve esistere k 0 ≥ ki tale che
k 0 ∀x(R(x) ∨ ¬R(x)).
Ma se kj ∀x(R(x) ∨ ¬R(x)) allora kj R(j) ∨ ¬R(j); e tuttavia, per
ogni j, kj non forza R(j); né può essere kj ¬R(j) perché kj+1 R(j).
Quindi non esiste un k 0 come sopra, e k0 6 ¬¬∀x(R(x) ∨ ¬R(x)). 2
47
Interpretazione topologica
L’interpretazione topologica della logica intuizionistica è stata inventata
da Andrej Mostowski, nel 1948, e perfezionata da Dana Scott nel 1968. I
valori delle formule sono un opportuno spazio topologico.
Sia H l’insieme di tutti i sottoinsiemi aperti di R. Si introducono su H
le seguenti operazioni:
X ∧ Y = X ∩ Y ; X ∨ Y = X ∪ Y ; X ∗ = int(R \ X); X ⇒ Y =
int((R \ X) ∪ Y ), X ≤ Y se e solo se X ∧ Y = X,
e si pone 0 = ∅ e 1 = R.
hH, ∧, ∨, ⇒,∗ , 0, 1i è un’algebra di Heyting completa, nel senso che soddisfa
(i) ∧ e ∨ sono associative, commutative e idempotenti;
(ii) valgono le leggi distributive;
(iii) X ≤ Y se e solo se X ⊆ Y e X ∧ Y e X ∨ Y sono rispettivamente
estremo inferiore ed estremo superiore di X e Y rispetto a ≤; inoltre 0 ≤
X ≤ 1 per ogni X;
(iv) X ⇒ y è il più grande elemento Z tale che Z ∧ X ≤ Y e X ∗ è il più
grande elemento tale che X ∧ X ∗ = 0;
(v) Wper ogni sottoinsieme
estremiVsupeV non vuoto H di H esistono
W gli S
rioreT( X ) e inferiore ( X ) e sono rispettivamente X = X e X =
int( X ).
Ammesso di avere un metodo per assegnare aperti di R alle formule
atomiche di un linguaggio, il metodo si estende a tutte le formule ponendo
kA∧B k
kA∨B k
kA→Bk
k ¬A k
k ∃xA(x) k
k ∀xA(x) k
=
=
=
=
=
=
kAk∧kBk
kAk∨kBk
k A k⇒k B k
kAk∗
W
Vx k A(x) k
x k A(x) k
Alle formule atomiche nel caso di un discorso sulle funzioni si assegnano
i valori
k f < g k= {x ∈ R | f (x) < g(x)}
k f = g k= int{x ∈ R | f (x) = g(x)}.
48
La ragione per cui si deve mettere int nel caso dell’uguale è che l’insieme può
non essere aperto; per esempio se f (x) = x e g(x) = −x allora {x | f (x) =
g(x)} =
6 ∅, ma k f = g k= 0.
Siccome per definizione x ≤ y ↔ ¬(y < x) si ha
kf ≤gk =
=
=
=
k ¬(g < f ) k
int(R\ k g < f k)
int{x | ¬(g(x) < f (x)}
int{x | f (x) ≤ g(x)}
Di qui si vede che x ≤ y non è equivalente a x < y ∨ x = y.
Teorema
Teorema
(i) k ∀x∀y(x < y ∨ x = y ∨ y < x) k= 0
(ii) k ∀x∀y(x ≤ y ∨ y ≤ x) k= 0. 2
(i) k ∀x∀y∀z(x < y → (x < z ∨ z < y) k= 1
(ii) k ∀x∀y(x < y → ∃q(x < q < y)) k= 1. 2
49