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