Appunti del corso di Teorie Logiche 1 Tipi e Logica Lineare (a.a. 2014/2015) V. M. Abrusci 21 maggio 2015 2 Indice 1 Calcolo dei sequenti per la logica classica 1.1 1.2 1.3 1.4 1.5 Preliminari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.1.1 Linguaggio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.1.2 Regole di inferenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.1.3 Analisi e derivazioni, derivabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.1.4 Regole di trasformazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Regole basilari del calcolo dei sequenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.2.1 Regole di inferenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.2.2 Regola di trasformazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Regole strutturali del calcolo dei sequenti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.1 Regole di inferenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.3.2 Regole di trasformazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Regole del calcolo dei sequenti sulle unità logiche . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.4.1 Regole moltiplicative sulle unità logiche . . . . . . . . . . . . . . . . . . . . . . . . . . 13 1.4.1.1 Regole moltiplicative di inferenza . . . . . . . . . . . . . . . . . . . . . . . . 13 1.4.1.2 Regola moltiplicativa di trasformazione . . . . . . . . . . . . . . . . . . . . . 14 1.4.2 Regole additive sulle unità logiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.4.3 Interderivabilità delle regole moltiplicative e delle regole additive . . . . . . . . . . . . 15 Regole del calcolo dei sequenti sui connettivi preposizionali . . . . . . . . . . . . . . . . . . . 15 1.5.1 Regole moltiplicative sui connettivi preposizionali . . . . . . . . . . . . . . . . . . . . . 15 1.5.1.1 Regole di inferenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 1.5.1.2 Regola di trasformazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Regole additive sui connettivi proposizionali . . . . . . . . . . . . . . . . . . . . . . . . 16 1.5.2.1 Regole di inferenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 1.5.2.2 Regole di trasformazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Interderivabilità delle regole moltiplicative e delle regole additive . . . . . . . . . . . . 17 Regole del calcolo dei sequenti sui quantificatori . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.5.2 1.5.3 1.6 7 3 1.6.1 Regole di inferenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 1.6.2 Regola di trasformazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.7 Regole di permutazione del calcolo dei sequenti . . . . . . . . . . . . . . . . . . . . . . . . . . 20 1.8 Il principio della sottoformula e l’eliminazione dei tagli . . . . . . . . . . . . . . . . . . . . . . 22 1.9 Gli invarianti delle derivazioni, la diversità delle derivazioni di una stessa formula . . . . . . . 23 1.10 Alcune formule derivabili e le loro derivazioni cut-free . . . . . . . . . . . . . . . . . . . . . . 24 2 Logica Intuizionista, corrispondenza Curry-Howard, sistema F 2.1 27 Le formule e i sequenti della logica intuizionista . . . . . . . . . . . . . . . . . . . . . . . . . . 27 2.1.1 Formule intuizioniste e sequenti intuizionisti . . . . . . . . . . . . . . . . . . . . . . . . 27 2.1.2 Altra definizione delle formule intuizioniste e dei seguenti intuizionisti . . . . . . . . . 28 2.1.3 La negazione intuizionista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Derivazioni intuizioniste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.2.1 Regole basilari in logica intuizionista . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 2.2.2 Regole strutturali in logica intuizionista . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.2.3 Regole sulle unità logiche in logica intuizionista . . . . . . . . . . . . . . . . . . . . . 30 2.2.4 Regole sui connettivi proposizionali in logica intuizionista . . . . . . . . . . . . . . . . 30 2.2.5 Regole sui quantificatori in logica intuizionista . . . . . . . . . . . . . . . . . . . . . . 32 Derivabilità classica e derivabilità intuizionista . . . . . . . . . . . . . . . . . . . . . . . . . . 33 2.3.1 La negazione intuizionista e la doppia negazione intuizionista . . . . . . . . . . . . . . 33 2.3.2 Traduzione della logica classica entro la logica intuizionista . . . . . . . . . . . . . . . 34 Le deduzioni naturali intuizioniste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 2.4.1 Definizione delle deduzioni naturali intuizioniste . . . . . . . . . . . . . . . . . . . . . 36 2.4.2 Redex e regole di riduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2.4.3 Regole di inferenza locali e regole di inferenza globali . . . . . . . . . . . . . . . . . . . 41 2.5 La corrispondenza Curry-Howard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.6 Sistemi tipati: il sistema dei tipi semplici, il sistema F . . . . . . . . . . . . . . . . . . . . . . 42 2.6.1 Il sistema dei tipi semplici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 2.6.2 Il sistema F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.2 2.3 2.4 3 Logica lineare: dualità, controllo logico della dimostrabilità 3.1 49 Calcolo dei sequenti per la logica lineare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.1.1 Riformulazione delle regole strutturali come regole su formule sottolineate . . . . . . . 52 3.1.1.1 Regole di inferenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.1.1.2 Regole di trasformazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Regole basilari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.1.2 4 3.2 3.1.3 Regole moltiplicative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 3.1.4 Regole additive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.1.5 Regole esponenziali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.1.6 Regole sui quantificatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.1.7 Regole di permutazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.1.8 Principali proprietà del calcolo dei sequenti . . . . . . . . . . . . . . . . . . . . . . . . 57 3.1.9 Alcune leggi della logica lineare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.1.10 Frammenti della logica lineare, e loro complessità . . . . . . . . . . . . . . . . . . . . . 60 La struttura della dimostrabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.2.1 Gli spazi delle fasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 3.2.2 Lo spazio delle fasi indotto dal calcolo dei sequenti . . . . . . . . . . . . . . . . . . . . 63 3.2.3 La semantica delle fasi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 4 Logica lineare: positivo e negativo 4.1 67 Operatori logici negativi e operatori logici positivi . . . . . . . . . . . . . . . . . . . . . . . . 67 4.1.1 Caratteristiche degli operatori negativi . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.1.2 Caratteristiche degli operatori positivi . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 4.1.3 Rapporto tra operatori positivi e operatori negativi . . . . . . . . . . . . . . . . . . . . 77 4.2 Derivazioni focalizzate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.3 Operatori generalizzati, negativi e positivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5 6 Capitolo 1 Calcolo dei sequenti per la logica classica 1.1 1.1.1 Preliminari Linguaggio L’alfabeto della logica classica del primo ordine contiene le unità logiche V ERO e F ALSO, i connettivi ∧ e ∨, i quantificatori ∀ e ∃, un insieme infinito numerabile di variabili per individui, un insieme di variabili per funzioni n-arie (per ogni numero naturale n), un insieme di variabili per proposizioni, un insieme di variabili per predicati n-arie (per ogni numero naturale n), i simboli ausiliari. Sull’insieme delle variabili per proposizioni e su ciascun insieme di variabili per predicati è definita una funzione N ON iniettiva e suriettiva tale che per ogni variabile v N ON (v) è una variabile dello stesso tipo della variabile v e N ON (N ON (v)) = v. L’alfabeto della logica classica del secondo ordine è ottenuto dall’alfabeto della logica classica del primo ordine imponendo che tutti gli insiemi di variabili siano numerabili. L’alfabeto della logica classica preposizionale del primo ordine è ottenuto dall’alfabeto della logica classica del primo ordine imponendo che l’insieme delle variabili per proposizioni sia numerabile e che tutti gli altri insieme di variabili siano vuoti, e rimuovendo i quantificatori. L’alfabeto della logica classica preposizionale del secondo ordine è ottenuto dall’alfabeto della logica classica del secondo ordine imponendo che l’insieme delle variabili per proposizioni sia numerabile e che tutti gli altri insieme di variabili siano vuoti. Le formule della logica classica del primo ordine sono definite come segue, con una definizione induttiva, una volta che è stato definito l’insieme dei termini individuali (ossia dei termini che hanno lo stesso tipo delle variabili per individui) : • BASE DI INDUZIONE (formule atomiche) – le unità logiche sono formule; – le variabili per proposizioni sono formule; – se P è una variabile per predicato n-ario, e t1 , · · · , tn sono termini individuali, allora P (t1 , · · · , tn ) è una formula; • PASSO DI INDUZIONE – se A e B sono formule, allora A ∧ B e A ∨ B sono formule; 7 – se A è una formula e x è una variabile individuale e ∀x e ∃x non compaiono in A, allora ∀xA e ∃xA sono formule; • CLAUSOLA FINALE: nient’altro è una formula. Le formule della logica classica preposizionale del primo ordine sono definite con una variante della definizione induttiva precedente, ossia eliminando l’ultima clausola della base di induzione e l’ultima clausola del passo di induzione. Le formule della logica classica del secondo ordine sono definite con un’altra variante della definizione induttiva precedente, ossia rimpiazzando la seconda clausola del passo di induzione con: se A è una formula e v è una variabile e ∀v e ∃v non compaiono in A, allora ∀vA e ∃vA sono formule. Le formule della logica classica preposizionale del secondo ordine sono definite con una variante della definizione induttiva delle formule della logica classica del secondo ordine, ossia eliminando l’ultima clausola della base di induzione. A ciascuna formula A si associa il suo unico albero generativo, un albero di formule in cui la radice è A, le foglie sono formule atomiche e ciascun nodo è ottenuto dai nodi immediatamente precedenti con una delle operazioni previste nel passo di induzione. Una formula B è sottoformula di una formula A se e soltanto se B è un nodo dell’albero generativo di A. Il grado di una formula è il numero di occorrenze di simboli logici (unità logiche, connettivi preposizionali, quantiifcatori) presenti in quella formula. Per ogni formula A, è definita la negazione di A denotata da ¬A, come segue: • ¬V ERO = F ALSO e ¬F ALSO = V ERO • se P è una variabile per proposizioni, allora ¬P = N OT (P ) • se se P è una variabile per predicato n-ario, e t1 , · · · , tn sono termini individuali, allora ¬(P (t1 , · · · , tn )) = N OT (P )(t1 , · · · , tn ) ; • ¬(A ∧ B) = ¬A ∨ ¬B, ¬(A ∨ B) = ¬A ∧ ¬B; • ¬∀vA = ∃v¬A , ¬∃vA = ∀v¬A. È facile mostrare che per ogni formula A, ¬A ha lo stesso grado di A e ¬¬A è A. Se A e B sono formule, A → B denota la formula ¬A ∨ B. ¬(A → B) è dunque la formula A ∧ ¬B. Un sequente è un multinsieme finito di formule, e viene rappresentato da ogni espressione della forma ⊢Γ dove Γ è una successione di tutti gli elementi del sequente. Pertanto, Γ e ∆ rappresentano lo stesso sequenze quando ∆ è una permutazione di Γ. Quando focalizziamo su una particolare occorrenza di formula A in un sequente, usiamo rappresentare tale sequente nella forma ⊢ Γ, A o nella forma ⊢ A, Γ e chiamiamo Γ il contesto di A in quel sequente. 8 1.1.2 Regole di inferenza Le regole di inferenza del calcolo dei seguenti sono regole 0-arie (nessuna premessa, una sola conclusione), unarie (una sola premessa, una sola conclusione), binarie (due sole premesse, una sola conclusione). Le regole 0-arie sono rappresentate nel modo seguente: ⊢Γ (R)(· · · ) dove ⊢ Γ è la conclusione della regola, (R) è il nome della regola e (· · · ) sono eventuali condizioni per l’applicazione della regola. Le regole unarie sono rappresentate nel modo seguente: ⊢Γ (R)(· · · ) ⊢∆ dove ⊢ Γ è la premessa della regola, ⊢ ∆, (R) è il nome della regola e (· · · ) sono eventuali condizioni per l’applicazione della regola. Le regole binarie sono rappresentate nel modo seguente: ⊢ Γ1 ⊢ Γ2 ⊢∆ (R)(· · · ) dove ⊢ Γ è la premessa della regola, ⊢ ∆, (R) è il nome della regola e (· · · ) sono eventuali condizioni per l’applicazione della regola. Una regola preserva il principio della sottoformula quando ogni formula che compare in almeno uno delle sue premesse compare anche nella conclusione o è sottoformula di una formula che compare nella conclusione. 1.1.3 Analisi e derivazioni, derivabilità Un’analisi di un sequente ⊢ Γ nel calcolo dei sequenti per la logica classica da un insieme M di sequenti è un albero di sequenti nel quale ciascun nodo: • se è la radice (ossia, se non ha successori), è il sequente ⊢ Γ • se è una foglia, ossia se non ha predecessori, è conclusione di una regola 0-aria del calcolo dei sequenti per la logica classica, oppure è un sequente appartenente a M ; • se ha un solo predecessore, allora è conclusione di una regola unaria la cui premessa è il sequente suo predecessore; • se ha due soli predecessori, allora è conclusione di una regola binaria le cui premesse sono i due sequenti suoi predecessori. Una derivazione di un sequente ⊢ Γ nel calcolo dei sequenti per la logica classica da un insieme M di sequenti è una analisi finita (dunque, ben fondata) di ⊢ Γ da M . Se esiste una derivazione di un sequente ⊢ Γ nel calcolo dei sequenti per la logica classica da un insieme M di sequenti, si dice che ⊢ Γ à derivabile da M nella logica classica. Se ⊢ Γ è derivabile dall’insieme vuoto di sequenti, si dice che ⊢ Γ è derivabile in logica classica. 9 Se ⊢ Γ, A è derivabile in logica classica, si dice che A è derivabile in logica classica nel contesto Γ. Una regola di inferenza (R) è derivabile da certe altre regole del calcolo dei sequenti se esiste una derivazione della conclusione di (R) dalle premesse di (R) usando soltanto quelle altre regole del calcolo dei sequenti. Ogni regola di inferenza 0-aria asserisce la derivabilità della conclusione della regola, o meglio - focalizzando su una delle formule della conclusione della regola - asserisce la derivabilità di quella particolare formula in un certo contesto, ossia che una certa configurazione del contesto è condizione sufficiente per la derivabilità di quella formula. Una regola di inferenza 0-aria è detta reversible quando stabilisce che una certa configurazione del contesto è condizione sufficiente per la derivabilità di una formula, e tale condizione è anche una condizione necessaria. Ogni regola di inferenza unaria asserisce che la derivabilità della sua premessa è condizione sufficiente per la derivabilità della sua conclusione. Una regola di inferenza unaria è detta reversibile quando la derivabilità della sua premessa è condizione necessaria e sufficiente per la derivabilità della sua conclusione, ossia quando la sua premessa è derivabile nel calcolo dei sequenti dalla sua conclusione. Ogni regola di inferenza binaria asserisce che la derivabilità di entrambe le sue premesse è condizione sufficiente per la derivabilità della sua conclusione. Una regola di inferenza binaria è detta reversibile quando la derivabilità di entrambe le sue premesse è condizione necessaria e sufficiente per la derivabilità della sua conclusione, ossia quando entrambe le sue premesse sono derivabili nel calcolo dei sequenti dalla sua conclusione. 1.1.4 Regole di trasformazione Una regola di trasformazione del calcolo dei sequenti per la logica classica è una regola che • ha come premessa una analisi di un sequente da un insieme di seguenti e come conclusione un’analisi dello stesso sequente dallo stesso insieme di seguenti, • la trasformazione consiste in operazioni effettive da compiere a partire dalla premessa, • la trasformazione preserva le derivazioni, ossia se la premessa è una derivazione anche la conclusione è una derivazione. Una regola di trasformazione viene rappresentata da π R ψ dove π è la premessa (l’analisi che viene trasformata), ψ è la conclusione (l’analisi che si ottiene dalla trasformazione di π) e (R) è il nome della regola di trasformazione. Se una analisi ψ si ottiene da un’analisi π mediante una successione finita di regole di trasformazione, si scrive π Ovviamente, vale che se π ψ ψ allora: • π e ψ sono analisi dello stesso sequente dallo stesso insieme di sequenti • ψ è una derivazione se π è una derivazione 10 1.2 Regole basilari del calcolo dei sequenti Le regole basilari del calcolo dei seguenti sono regole che concernono il rapporto tra una formula e la sua negazione. Esse sono: due regole di inferenza (una 0-aria, l’altra binaria) e una regola di trasformazione. 1.2.1 Regole di inferenza La regola (id) (identità) è una regola 0-aria, mentre la regola (cu) (taglio) è una regola binaria. (id) ⊢ ¬A, A ⊢ Γ, A ⊢ ¬A, ∆ (cut) ⊢ Γ, ∆ Si noti che nella regola (cut) l’ordine delle premesse non conta: poiché ogni formula è negazione di qualche formula, non possiamo caratterizzare la prima premessa come la premessa che contiene una formula e la seconda come la premessa che contiene la sua negazione. Con un’applicazione della regola (cut) una occorrenza di una formula A e una occorrenza della sua negazione ¬A compaiono nelle premesse ma non compaiono più nella conclusione: pertanto, la regola (cut) non preserva il principio della sottoformula. Quando un’applicazione della regola (cut) ha come premesse i sequenti ⊢ Γ, A e ⊢ ¬A, ∆ e come conclusione il sequente ⊢ Γ, ∆, si dice che tale applicazione concerne la coppia di formule (A, ¬A); si dice anche che A e ¬A sono formule tagliate da quella applicazione della regola (cut). Il grado di una applicazione della regola (cut) che concerne la coppia di formule (A, ¬A) è il grado di A (che è uguale al grado di ¬A). Un’applicazione della regola (cut) è detta più semplice di un’altra applicazione della regola (cut) quando il grado della prima applicazione è minore del grado della seconda applicazione. Una analisi (una derivazione) è detta cut-free quando non contiene alcuna applicazione della regola (cut). Un’analisi (una derivazione) è detta quasi cut-free quando contiene solo un’applicazione della regola (cut) e tale applicazione è la regola finale dell’analisi (della derivazione). 1.2.2 Regola di trasformazione La regola basilare di trasformazione permette di trasformare una analisi (una derivazione) che termina con un’applicazione della regola (cut) nella quale una delle premesse è conclusione di una regola (id); tale regola di trasformazione sarà denominata (id,cut). .. .π ⊢ ¬A, ∆ (id,cut) ⊢ ¬A, A ⊢ ¬A, ∆ .. .π ⊢ ¬A, ∆ È evidente che questa regola di trasformazione trasforma analisi in analisi, mantiene il sequente finale e preserva le derivazioni. Inoltre, se la premessa è quasi cut-free, la conclusione è cut-free. In base alla regola (id,cut), quando anche π consiste semplicemente nella regola (id) con conclusione ⊢ ¬A, A, si ottiene come conclusione ancora la regola (id) con conclusione ⊢ ¬A, A. 11 1.3 Regole strutturali del calcolo dei sequenti Le regole strutturali concernono l’aggiunta di formule o la contrazione di formule nei seguenti. Si tratta di due regole unarie di inferenza, e di tre regole di trasformazione 1.3.1 Regole di inferenza Le regole strutturali di inferenza sono la regola di indebolimento (W) con la quale si aggiunge una occorrenza di formula, e la regola di contrazione (C) con la quale si contraggono due occorrenze della stessa formula. ⊢Γ (W ) ⊢ Γ, A ⊢ Γ, A, A (C) ⊢ Γ, A Di queste regole presentiamo la versione (derivabile) nella quale si aggiunge una successione finita di formule (W+) o si contraggono due successioni finite costituite dalle stesse occorrenze di formule (C+). ⊢ Γ, ∆, ∆ (C+) ⊢ Γ, ∆ ⊢Γ (W +) ⊢ Γ, ∆ È evidente che le regole strutturali del calcolo dei sequenti preservano il principio della sottoformula. 1.3.2 Regole di trasformazione La prima regola strutturale di trasformazione permette di trasformare un’analisi (una derivazione) che termina con un’applicazione della regola (cut) nella quale una delle premesse è conclusione di una regola (W): viene eliminata quella applicazione della regola (cut) e una parte dell’analisi, e viene usata una regola (W+). .. .π1 ⊢ Γ ⊢ Γ, A .. .π2 ⊢ ¬A, ∆ (W,cut) ⊢ Γ, ∆ .. .π1 ⊢ Γ ⊢ Γ, ∆ È evidente che questa regola di trasformazione trasforma analisi in analisi, mantiene il sequente finale e preserva le derivazioni. Inoltre, se la premessa è quasi cut-free, la conclusione è cut-free. La seconda regola strutturale di trasformazione permette di trasformare un’analisi (una derivazione) che termina con un’applicazione della regola (cut) nella quale una delle premesse è conclusione di una regola (C): invece di avere la regola (C) seguita dalla regola (cut) si hanno due applicazioni della regola (cut) seguita da una applicazione della regola (C+), e viene a questo scopo duplicata una parte dell’analisi. .. .. .π2 .π1 ⊢ ¬A, ∆ ⊢ Γ, A, A ⊢ Γ, A ⊢ Γ, ∆ .. .. . π1 .π2 ⊢ Γ, A, A ⊢ ¬A, ∆ ⊢ Γ, ∆, A ⊢ Γ, ∆, ∆ ⊢ Γ, ∆ (C,cut) 12 .. .π2 ⊢ ¬A, ∆ È evidente che questa regola di trasformazione trasforma analisi in analisi, mantiene il sequente finale e preserva le derivazioni. La terza regola strutturale di trasformazione permette di trasformare un’analisi (una derivazione) che termina con una applicazione di una regola (C) immediatamente preceduta da un’applicazione di una regola (W) con la quale si aggiunge una delle due occorrenze contratte: la trasformazione consiste nel cancellare queste due regole finali della analisi. .. .π1 ⊢ Γ, A ⊢ Γ, A, A ⊢ Γ, A .. .π1 (W,C) ⊢ Γ, A È evidente che questa regola di trasformazione trasforma analisi in analisi, mantiene il sequente finale e preserva le derivazioni. Si noti che la regola (W,cut) non è deterministica: infatti permette di trasformare una stessa analisi in due analisi sintatticamente diverse, quando entrambe le premesse della regola (cut) sono conclusioni di (W), come in questo caso 1.4 .. .π1 ⊢ Γ ⊢ Γ, A .. . π2 ⊢ ∆ ⊢ ¬A, ∆ ⊢ Γ, ∆ .. .π1 ⊢ Γ ⊢ Γ, A .. . π2 ⊢ ∆ ⊢ ¬A, ∆ ⊢ Γ, ∆ (W,cut) .. .π1 ⊢ Γ ⊢ Γ, ∆ (W,cut) .. .π2 ⊢ ∆ ⊢ Γ, ∆ Regole del calcolo dei sequenti sulle unità logiche Le regole sulle unità logiche, V ERO e F ALSO, sono di due tipologie: le regole moltiplicative e le regole additive. Le regole moltiplicative sono derivabili dalle regole additive usando le regole strutturali, e le regole additive sono derivabili dalle regole moltiplicative usando le regole strutturali. 1.4.1 Regole moltiplicative sulle unità logiche Le regole moltiplicative sulle unità logiche sono due regole di inferenza (una regola 0-aria, e una regola unaria) e una regola di trasformazione. 1.4.1.1 Regole moltiplicative di inferenza Le regole moltiplicative di inferenza sulle unità logiche sono: ⊢ V ERO (1) ⊢Γ (⊥) ⊢ Γ, F ALSO 13 È evidente che entrambe le regole preservano il principio delle sottoformule. Si osservi che la regola (1) asserisce: un sequente contenente V ERO è derivabile se il contesto è vuoto. Si noti che la regola (1) non è reversibile: ci sono sequenti contenti V ERO derivabikle dove il contesto non è vuoto: ad esempio, il sequente ⊢ F ALSO, V ERO che è derivabile essendo conclusione di (id). La regola (⊥) stabilisce una condizione sufficiente per la cerivabilità di F ALSO in un contesto Γ: la derivabilità di ⊢ Γ nel calcolo dei sequenti. Si verifichi che la regola (⊥) è reversibile: dalla conclusione della regola (⊥) e dal sequente derivabile ⊢ V ERO (conclusione di (1)) si ottiene la premessa di (⊥) mediante un (cut). Dunque condizione necessaria e sufficiente per la derivabilità di F ALSO in un contesto Γ è la derivabilità di ⊢ Γ . 1.4.1.2 Regola moltiplicativa di trasformazione La regola moltiplicativa di trasformazione sulle unità logiche permette di trasformare una analisi (una derivazione) che termina con un (cut) le cui premesse sono la conclusione della regola (1) e la conclusione della regola (⊥); tale analisi (derivazione) è trasformata in una analisi (derivazione) in cui sono state eliminate quelle applicazioni della regole moltiplicative di inferenza sulle unità logiche e del (cut). ⊢ V ERO .. .π ⊢∆ ⊢ F ALSO, ∆ ⊢∆ (1,⊥,cut) .. .π ⊢∆ È evidente che questa regola di trasformazione trasforma analisi in analisi, mantiene il sequente finale e preserva le derivazioni. Inoltre, se la premessa è quasi cut-free, la conclusione è cut-free. 1.4.2 Regole additive sulle unità logiche C’è una sola regola di inferenza sulle unità logica, ed è una regola 0-aria: ⊢ Γ, V ERO (T ) La regola preserva ovviamente il principio della sottoformula. Tale regola asserisce che essere una successione di occorrenze di formule è condizione sufficiente per essere un contesto in cui V ERO è derivabile. Ovviamente, essere una successione di occorrenze di formule è condizione necessaria per essere un contesto in cui V ERO è derivabile. Pertanto, la regola (T) è reversibile. L’assenza di regole additive di inferenza che tratti i contesti in cui F ALSO è derivabile è in sostanza questa regola: nessuna successone di occorrenze di formule è condizione sufficiente per essere un contesto in cui F ALSO è derivabile. Pertanto tale regola non è reversibile, perché esistono contesti in cui F ALSO è derivabile, poiché è derivabile il sequente ⊢ V ERO, F ALSO che è conclusione di (id). Non c’è alcuna regola additiva di trasformazione sulle unità logiche. 14 1.4.3 Interderivabilità delle regole moltiplicative e delle regole additive La regola moltiplicativa di inferenza (1) è un caso particolare della regola additiva (T). La regola moltiplicativa di inferenza (⊥) è un caso particolare della regola strutturale (W). La regola moltiplicativa di trasformazione (1, ⊥ ,cut) è un caso particolare della regola strutturale di trasformazione (W,cut). La conclusione della regola additiva (T) è derivabile dalla conclusione della regola moltiplicativa (1) mediante la regola strutturale (W+). Pertanto, le regole moltiplicative sulle unità logiche sono regole derivabili a partire dalle regole additive sulle unità logiche e dalle regole strutturali, e le regole additive sulle unità logiche sono regole derivabili a partire dalle regole moltiplicative sulle unità logiche e dalle regole strutturali. 1.5 Regole del calcolo dei sequenti sui connettivi preposizionali Anche le regole sui connettivi logici, ∧ e ∨, sono di due tipologie: le regole moltiplicative e le regole additive. Le regole moltiplicative sono derivabili dalle regole additive usando le regole strutturali, e le regole additive sono derivabili dalle regole moltiplicative usando le regole strutturali. 1.5.1 Regole moltiplicative sui connettivi preposizionali Le regole moltiplicative sui connettivi preposizionali sono due regole di inferenza (una regola binaria e una regola unaria) e una regola di trasformazione. 1.5.1.1 Regole di inferenza Le regole moltiplicative di inferenza sui connettivi preposizionali sono: ⊢ Γ, A ⊢ ∆, B (⊗) ⊢ Γ, ∆, A ∧ B ⊢ Γ, A, B (`) ⊢ Γ, ∆, A ∨ B È evidente che entrambe le regole preservano il principio della sottoformula. La regola (⊗) stabilisce una condizione sufficiente per la derivabilità di A∧B in un contesto, e tale condizione consiste nel fatto che A sia derivabile in una parte di tale contesto e B sia derivabile nella restante parte di tale contesto. La regola (`) stabilisce una condizione sufficiente per la derivabilità di A∨B in un contesto, e tale condizione consiste nel fatto che la coppia A, B sia derivabile in quel contesto, ossia che ciascuna delle due formule sia derivabile in quel contesto con l’aggiunta dell’altra delle due formule. Si noti che la regola (`) è reversibile: infatti, la premessa di tale regola ⊢ Γ, A, B è derivabile dalla conclusione di tale regola ⊢ Γ, A` B mediante un cut la cui altra premessa è il sequente ⊢ ¬A∧¬B, A, B (che è derivabile mediante (⊗) da ⊢ ¬A, A e ⊢ ¬B, B, conclusioni di (id)). Si noti che la regola (⊗) non è reversibile se il calcolo non permette di derivare un sequente della forma ⊢ X dove X è una variabile per proposizioni: infatti, prendendo due variabili per proposizioni P e Q, il sequente ⊢ P ∨ Q, ¬P ∧ ¬Q è derivabile poiché è premessa di (id), ma il contesto di ¬P ∧ ¬Q è costituito da una sola formula e dunque (se la regola (⊗) fosse reversibile) sarebbe derivabile il sequente ⊢ P o il sequente ⊢ Q. 15 1.5.1.2 Regola di trasformazione La regola moltiplicativa di trasformazione sui connettivi preposizionali permette di trasformare una analisi (una derivazione) che termina con un (cut) le cui premesse sono la conclusione della regola (⊗) e la conclusione della regola (`); tale analisi (derivazione) è trasformata in una analisi (derivazione) in cui sono state eliminate quelle applicazioni della regole moltiplicative di inferenza suon connettivi proposizionali e quella applicazione del (cut) e compaiono due applicazioni più semplici della regola (cut). .. .. .π1 .π2 ⊢ Γ1 , A ⊢ Γ2 , B ⊢ Γ1 , Γ2 , A ∧ B ⊢ Γ1 , Γ2 , ∆ .. .π3 ⊢ ¬A, ¬B, ∆ ⊢ ¬A ∨ ¬B, ∆ (⊗,`,cut) .. .π1 ⊢ Γ1 , A .. .. .π2 .π3 ⊢ Γ2 , B ⊢ ¬B, ¬A, ∆ ⊢ ¬A, Γ2 , ∆ ⊢ Γ1 , Γ2 , ∆ È evidente che questa regola di trasformazione trasforma analisi in analisi, mantiene il sequente finale e preserva le derivazioni. 1.5.2 Regole additive sui connettivi proposizionali Le regole additive sui connettivi preposizionali sono tre regole di inferenza (una regola binaria e due regole unarie) e due regole di trasformazione. 1.5.2.1 Regole di inferenza Le regole additive di inferenza sui connettivi preposizionali sono: ⊢ Γ, A (⊕1) ⊢ Γ, A ∨ B ⊢ Γ, B (⊕2) ⊢ Γ, A ∨ B ⊢ Γ, A ⊢ Γ, B (&) ⊢ Γ, A ∧ B È evidente che le tre regole preservano il principio della sottoformula. La regola (⊕1) e la regola (⊕2) stabiliscono due condizioni sufficienti per la derivabilità di una formula A ∨ B in un contesto: essere derivabile in quello stesso contesto una fra le due formule A e B. Le due regole unarie (⊕1) e (⊕2) possono essere presentate anche nella seguente forma: ⊢ Γ, A oppure ⊢ Γ, A ∨ B ⊢ Γ, B (⊕) La regola (&) stabilisce una condizione sufficiente per la derivabilità di una formula A ∧ B in un contesto: essere derivabili entrambe le formule A e B in quello stesso contesto. La regola (&) è reversibile, ossia la derivabilità sia di A che di B in un contesto è condizione necessaria e sufficiente per la derivabilità di AB in quello stesso contesto. Infatti, entrambe le premesse di una applicazione della regola (&) si ottengono mediante (cut) dalla conclusione di quella stessa regola e dai sequenti ¬A∨¬B, A e ¬A ∨ ¬B, B che a loro volta sono derivabili da (id) mediante la regola (⊕1) o la regola (⊕2). Invece, entrambe le regole (⊕1) e la regola (⊕2) sono non reversibili, se nel calcolo non si derivano un sequente ⊢ X, ¬Y dove X e Y sono variabili per proposizioni. infatti prendendo due variabili per proposizioni P e Q, il sequente ⊢ P ∧ Q, ¬P ∨ ¬Q è derivabile poiché è premessa di (id), ossia ¬P ∨ ¬Q è derivabile nel contesto P ∧ Q: ma né ¬P è derivabile nel contesto P ∧ Q (altrimenti, sarebbe derivabile il sequente ⊢ Q, ¬P ) né ¬Q è derivabile nel contesto P ∧ Q (altrimenti, sarebbe derivabile il sequente ⊢ P, ¬Q). 16 1.5.2.2 Regole di trasformazione Le due regole additive di trasformazione sui connettivi preposizionali permettono di trasformare una analisi (una derivazione) che termina con un (cut) le cui premesse sono la conclusione della regola (&) e la conclusione di una delle due regola (⊕1) o (⊕2); tale analisi (derivazione) è trasformata in una analisi (derivazione) in cui sono state eliminate quelle applicazioni della regole additive di inferenza sui connettivi proposizionali e quella applicazione del (cut) e compaiono due applicazioni più semplici della regola (cut). La prima regola concerne il caso in cui una delle premesse della regola (cut) è conclusione della regola (⊕1): .. . π1 ⊢ Γ, A ⊢ Γ, A ∨ B (⊕1,&,cut) .. .. .π2 .π3 ⊢ ¬A, ∆ ⊢ ∆, B ⊢ ¬A ∧ ¬B, ∆ ⊢ Γ, ∆ .. .π1 ⊢ Γ, A .. .π2 ⊢ ¬A, ∆ ⊢ Γ, ∆ La seconda regola concerne il caso in cui una delle premesse della regola (cut) è conclusione della regola (⊕2): .. .π1 ⊢ Γ, B ⊢ Γ, A ∨ B (⊕2,&,cut) .. .. .π3 .π2 ⊢ ∆, B ⊢ ¬A, ∆ ⊢ ¬A ∧ ¬B, ∆ ⊢ Γ, ∆ .. . π1 ⊢ Γ, B .. .π3 ⊢ ¬B, ∆ ⊢ Γ, ∆ È evidente che entrambe queste regole di trasformazione trasformano analisi in analisi, mantengono il sequente finale e preservano le derivazioni. 1.5.3 Interderivabilità delle regole moltiplicative e delle regole additive Le due regole moltiplicative di inferenza sui connettivi preposizionali sono derivabili dalle regole additive di inferenza sui connettivi preposizionali e dalle regole strutturali. Infatti: • date le due premesse ⊢ Γ1 , A e ⊢ Γ2 , B di una applicazione della regola (⊗), dapprima - mediante la regola strutturale (W+) applicata a ciascuna delle premesse - si ottengono i sequenti ⊢ Γ1 , Γ2 , A e ⊢ Γ1 , Γ2 , B e infine si ottiene mediante la regola (&) il sequente ⊢ Γ1 , Γ2 , A ∧ B; • data la premessa ⊢ Γ, A, B di una applicazione della regola (`), mediante (⊕1) si ottiene ⊢ Γ, A ∨ B, B da cui mediante (⊕2) si ottiene ⊢ Γ, A ∨ B, A ∨ B e infine mediante la regola strutturale (C) si ottiene il sequente ⊢ Γ, A ∨ B. Le tre regole additive di inferenza sui connettivi preposizionali sono derivabili dalle regole moltiplicative di inferenza sui connettivi preposizionali e dalle regole strutturali. Infatti: 17 • date le due premesse ⊢ Γ, A e ⊢ Γ, B di una applicazione della regola (&), dapprima mediante la regola moltiplicativa (⊗) si ottiene il sequente ⊢ Γ, Γ, A ∧ B e infine si ottiene mediante la regola strutturale (C+) il sequente ⊢ Γ, A ∧ B; • data la premessa ⊢ Γ, A di una applicazione della regola (⊕1), mediante la regola strutturale (W) si ottiene ⊢ Γ, A, B da cui mediante (`) si ottiene ⊢ Γ, A ∨ B; • data la premessa ⊢ Γ, B di una applicazione della regola (⊕2), mediante la regola strutturale (W) si ottiene ⊢ Γ, A, B da cui mediante (`) si ottiene ⊢ Γ, A ∨ B. La trasformazione prodotta dalla regola di trasformazione moltiplicativa sui connettivi preposizionali può essere compiuta anche trasformando dapprima le regole moltiplicative mediante le regole additive e le regole strutturali, e poi eseguendo le regole di trasformazione additive e quelle strutturali. Analogamente, la trasformazione prodotta da una delle regole di trasformazione additiva sui connettivi preposizionali può essere compiuta anche trasformando dapprima le regole additive mediante le regole moltiplicative e le regole strutturali, e poi eseguendo la regole di trasformazione moltiplicativa e le regole di trasformazione strutturale. 1.6 Regole del calcolo dei sequenti sui quantificatori Le regole del calcolo dei seguenti per i quantificatori ∀ e ∃ due regole di inferenza e una regola di trasformazione. Le regole sono le stesse per ogni tipologia di quantificazione: ossia per la quantificazione sulle variabili individuali, per la quantificazione sulle variabili per proposizioni, per la quantificazione sulle variabili per funzioni, per la quantificazione sulle variabili per predicati e per la quantificazione sulle variabili per insiemi. Quel che è necessario per applicare le regole per una tipologia di quantificazione, ossia per la quantificazione su un tipo T di variabili, è disporre della nozione di variabile di tipo T , di quella di termine di tipo T , quella di occorrenza libera di una variabile di tipo T e di quella di sostituzione di una variabile di tipo T con un termine di quello stesso tipo T . In particolare: • nel caso del tipo degli individui, le variabili di quel tipo sono le variabili individuali, i termini di quel tipo sono i termini di un linguaggio del primo ordine, A[t/x] denota la formula ottenuta dalla formula A sostituendo la variabile individuale x con il termine del primo ordine t (ossia rimpiazzando con t tutte le occorrenze libere di quella variabile x in A), e π[t/x] debita l’analisi (la derivazione) ottenuta sostituendo la variabile individuale x con il termine del primo ordine t (ossia rimpiazzando con t tutte le occorrenze libere della variabile x nelle formule presenti in π); • nel caso del tipo delle proposizioni, le variabili di quel tipo sono le variabili per proposizioni e i termini di quel tipo sono le formule del linguaggio considerato, A[B/X] denota la formula ottenuta dalla formula A sostituendo la variabile per proposizioni X con la formula B (ossia rimpiazzando con B tutte le occorrenze libere di quella variabile X in A), e π[B/X] debita l’analisi (la derivazione) ottenuta sostituendo la variabile per proposizioni X con la formula B (ossia rimpiazzando con B tutte le occorrenze libere della variabile X nelle formule presenti in π). 1.6.1 Regole di inferenza Le regole di inferenza per i quantificatori del primo ordine (ossia per i quantificatori su variabili individuali) sono le seguenti due regole unarie: ⊢ Γ, A[t/x] (∃)(ttermine del primo ordine,xvariabile individuale) ⊢ Γ, ∃xA 18 ⊢ Γ, A[y/x] (∀)(y variabile individuale non libera in Γ, x variabile individuale) ⊢ Γ, ∀xA In generale, le regole di inferenza per i quantificatori su un tipo T di variabili sono: ⊢ Γ, A[t/x] (∃)(ttermine di tipo T ,xvariabile di tipo T ) ⊢ Γ, ∃xA ⊢ Γ, A[y/x] (∀)(y variabile di tipo T non libera in Γ, x variabile di tipo T ) ⊢ Γ, ∀xA La regola (∃) stabilisce una condizione sufficiente per la derivabilità di una formula ∃xA in un contesto: essere derivabile in quello stesso contesto una formula A[t/x] ossia una istanza di ∃xA (senza porre alcuna condizione su questa istanza). La regola (∀) stabilisce una condizione sufficiente per la derivabilità di una formula ∀xA in un contesto: essere derivabile in quello stesso una formula A[y/x] con y non libera in quel contesto, ossia un’istanza di ∀xA sulla quale nulla viene fissato nel contesto, ossia una istanza di ∀xA che è trattata come istanza generica in quel contesto. La regola (∀) è reversibile. Infatti,dalla conclusione ⊢ Γ, ∀xA di (∀) si ottiene la premessa della stessa regola, come segue: si prende una variabile y (dello stesso tipo di x ) che non compaia in Γ ( e una tale variabile c’è necessariamente, perchè le variabili di un tipo sono infinite mentre le variabili presenti in una successione finita di formule sono in numero finito), e si ricava la premessa della regola (∀) ⊢ Γ, A[y/x] mediante un (cut) l e cui premesse sono ⊢ Γ, ∀xA e il sequente ∃x¬A, A[y/x] che è derivabile mediante (∃) dalla conclusione di (id) ¬A[y/x], A[y/x]. La regola (∃) è non reversibile se nel calcolo non si derivano sequenti della forma ⊢ ¬A[y/x], A[t/x] con una variabile y diversa da t dello stesso tipo. Infatti, il sequente ⊢ ∀x¬A, ∃xA è derivabile (poiché è conclusione di (id)), e dunque se (∃) fosse reversibile sarebbe derivabile un sequente ⊢ ∀x¬A, A[t/x] e allora (per la reversibilità di (∀)) sarebbe derivabile un sequente ⊢ ¬A[y/x], A[t/x] con una y diversa da t. Si noti che tutte le regole di inferenza sulle unità logiche e sui connettivi logici preservano il principio della sottoformula, in quanto le formule che compaiono in almeno una delle premesse e che non compaiono nella conclusione sono comunque sottoformule della formula introdotta nella conclusione. Invece, questo principio non viene preservato dalle regole di inferenza sui quantificatori, già nel caso in cui la quantificazione è sulle variabili individuali: infatti una formula A[t/x] non è sottoformula della formula ∃xA quando il termine t è diverso dalla variabile x e anche la formula A[y/x] non è sottoformula della formula ∀xA quando la variabile y è diversa dalla variabile x. Per far sì che anche la regola (∀) preservi in qualche modo il principio della sottoformula, dobbiamo estendere un po’ la nozione di sottoformula, ritenendo che sottoformula di una formula quantificata ∀xA o ∃xA sono non solo le formule che compaiono nei nodi ma anche tutte le formule A[y/x] dove y è una variabile dello stesso tipo di x. Questa estensione è abbastanza ragionevole poiché per tante ragioni dovremmo ritenere uguali la formula ∀xA e la formula ∀yA[y/x], cioé la formula che si ottiene dalla prima cambiando la variabile vincolata x con la variabile vincolata y purché entrambe le variabili siano dello stesso tipo. Per far sì che anche la regola (∃) - limitata alla quantificazione sulle variabili individuali preservi in qualche modo il principio della sottoformula - dobbiamo estendere molto di più la nozione di sottoformula, ritenendo che sottoformula di una formula quantificata ∀xA o ∃xA sono non solo le formule che compaiono nei nodi ma anche tutte le formule A[t/x] dove t è un termine individuale: tale nozione è chiamata sottofomula estesa. Questa estensione è ovviamente meno ragionevole della precedente, ma accettabile se non altro per il fatto che dal punto di visto logico un termine individuale è dello stesso grado di una variabile individuale, poiché non contiene alcun simbolo logico. E pertanto questa estensione non può essere fatta nel caso della quantificazione su variabili che non siano individuali: ad esempio, un termine dello stesso tipo di una variabile per proposizioni è una formula, ed essa può contenere un numero arbitrario di simboli logici. 19 1.6.2 Regola di trasformazione Le regola di trasformazione sui quantificatori permette di trasformare una analisi (una derivazione) che termina con un (cut) le cui premesse sono la conclusione della regola (∃) e la conclusione della regola (∀); tale analisi (derivazione) è trasformata in una analisi (derivazione) in cui • sono state eliminate quelle applicazioni delle regole di inferenza sui quantiificatori e quella applicazione del (cut) • viene modificata (mediante la sostituzione di una variabile con un termine dello stesso tipo) l’analisi (la derivazione) della premessa della regola (∀) • compare una applicazioni più semplice della regola (cut). . La regola è la stessa per ogni tipologia di quantiificatori. .. .. .π1 .π2 ⊢ Γ, A[t/x] ⊢ ¬A[y/x], ∆ ⊢ Γ, ∃xA ∨ B ⊢ ∀x¬A, ∆ ⊢ Γ, ∆ (∃,∀,cut) .. .π1 ⊢ Γ, A[t/x] .. .π2 [t/y] ⊢ ¬A[t/x], ∆ ⊢ Γ, ∆ Si noti che la sostituzione π2 [t/y] non modifica affatto il contesto ∆ poiché in tale contesto y non può occorrere libera (in quanto questa condizione è quella che permette di applicare la regola (∀) con cui da ⊢ Γ, ¬A[y/x] si passa a ⊢ Γ, ∀¬A[y/x]. È evidente che questa regola di trasformazione trasforma analisi in analisi, mantiene il sequente finale e preserva le derivazioni. 1.7 Regole di permutazione del calcolo dei sequenti Le regole di permutazione del calcolo dei sequenti sono regole di trasformazione, una per ciascuna regola di inferenza unaria o binaria del calcolo dei sequenti. Ogni regola di permutazione ha come premessa una analisi (una derivazione) che termina con una regola (cut) e nella quale una delle premesse è conclusione di una regola di inferenza (R) che introduce una occorrenza di una formula che non è tagliata dalla applicazione della regola (cut) (ossia la regola (R) viene prima della regola (cut) e non concerne la formula tagliata da quella regola), e ha come conclusione una analisi (una derivazione) in cui la regola (R) è compiuta dopo la regola (cut). Si tenga conto che se (R) è una regola unaria e non concerne una formula A (ossia lascia inalterata dalla premessa alla conclusione quella occorrenza della formula A), allora tale regola si presenta sempre in questa forma: ⊢ Λ, A (R) ⊢ Γ, A Per ogni regola unaria (R) la regola di permutazione che concerne la regola (R) è la seguente: 20 .. .π1 ⊢ Λ, A ⊢ Γ, A .. .π2 ⊢ ¬A, ∆ (P erm,(R),(cut)) .. .π1 ⊢ Λ, A ⊢ Γ, ∆ .. .π2 ⊢ ¬A, ∆ ⊢ Λ, ∆ ⊢ Γ, ∆ dove l’ analisi che costituisce la conclusione termina con una applicazione della regola (R). Si verifichi, per ciascuna regola (R), che tale regola di trasformazione permette di passare da una analisi ad un’analisi, e da una derivazione ad una derivazione. La regola binaria (⊗) quando non concerne una occorrenza di una formula A e nella conclusione introduce una formula B ∧ C si può presentare in una di queste due forme: ⊢ Γ1 , B, A ⊢ Γ2 , C (⊗) ⊢ Γ1 , Γ2 , B ∧ C, A ⊢ Γ1 , B ⊢ Γ2 , C, A (⊗) ⊢ Γ1 , Γ2 , B ∧ C, A Pertanto la regola di permutazione che concerne la regola (⊗) si presenta nelle due forme seguenti, una per ciascuna delle due forme in cui si presenta la regola (⊗) che non concerne la formula tagliata: .. .. .. .π3 .π1 .π2 ⊢ ¬A, ∆ ⊢ Γ1 , B, A ⊢ Γ2 , C ⊢ Γ1 , Γ2 , B ∧ C, A ⊢ Γ1 , Γ2 , B ∧ C, ∆ .. .. .π3 .π1 ⊢ ¬A, ∆ , B, A ⊢ Γ 1 (P erm,(⊗),(cut),1) ⊢ Γ1 , ∆, B ⊢ Γ1 , Γ2 , B ∧ C, ∆ .. .π2 ⊢ Γ2 , C .. .. .. .π3 .π1 .π2 ⊢ ¬A, ∆ ⊢ Γ1 , B ⊢ Γ2 , C, A ⊢ Γ1 , Γ2 , B ∧ C, A ⊢ Γ1 , Γ2 , B ∧ C, ∆ .. .. .. .π1 .π2 .π3 ⊢ Γ1 , B ⊢ Γ , C, A ⊢ ¬A, ∆ 2 (P erm,(⊗),(cut),2) ⊢ Γ2 , ∆, C ⊢ Γ1 , Γ2 , B ∧ C, ∆ La regola binaria (&) quando non concerne una occorrenza di una formula A e nella conclusione introduce una formula B ∧ C si presenta in questa forma: ⊢ Γ, B, A ⊢ Γ, C, A (&) ⊢ Γ, B ∧ C, A Pertanto la regola di permutazione che concerne la regola (&) si presenta nella forma seguente: 21 (P erm,(&),(cut)) 1.8 .. .. .. .π3 .π2 .π1 ⊢ ¬A, ∆ ⊢ Γ, C, A ⊢ Γ, B, A ⊢ Γ, B ∧ C, A ⊢ Γ, B ∧ C, ∆ .. .. .. .. .π1 .π2 .π3 .π3 ⊢ Γ, B, A ⊢ Γ2 , C, A ⊢ ¬A, ∆ ⊢ ¬A, ∆ ⊢ Γ, ∆, B ⊢ Γ, ∆, C ⊢ Γ, B ∧ C, ∆ Il principio della sottoformula e l’eliminazione dei tagli Una derivazione ψ soddisfa il principio della sottoformula quando ogni formula presente nella derivazione è sottoformula di qualche formula presente nel sequente finale di π. Una derivazione che soddisfa il principio della sottoformula corrisponde a una dimostrazione analitica: nella dimostrazione vengono usati solo concetti contenuti nell’asserto dimostrato. Una derivazione ψ soddisfa il principio della sottoformula estesa quando ogni formula presente nella derivazione è sottoformula estesa di qualche formula presente nel sequente finale di π. Una derivazione che soddisfa il principio della sottoformula estesa corrisponde a una dimostrazione logicamente analitica: i concetti logici usati nella dimostrazione sono solo quelli contenuti nell’asserto dimostrato. È possibile, e quando, in linea di principio, trasformare ogni derivazione nel calcolo dei sequenti in una derivazione che soddisfa il principio della sottoformula? È possibile, e quando, in linea di principio, trasformare ogni derivazione nel calcolo dei sequenti in una derivazione che soddisfa il principio della sottoformula estesa? Si noti che ogni analisi o una derivazione che sia cut-free π e senza le regole sui quantificatori soddisfa il principio della sottoformula: poiché tutte le regole usate in tale derivazione preservano il principio della sottoformula, ogni formula presente nella derivazione è sottoformula di qualche formula presente nel sequente finale di π. Un teorema - dimostrato in una forma diversa, e più generale da Gentzen - stabilisce che ogni derivazione senza premesse può essere trasformata - mediante le regole di trasformazione del calcolo dei sequenti - in una derivazione cut-free ossia , e quindi che nella logica senza quantificatori ogni derivazione può essere trasformata in una derivazione che soddisfa il principio della sottoformula Teorema 1. Teorema di eliminazione del taglio per la logica senza quantificatori. Se π è una derivazione di ⊢ Γ da nessuna premessa nel calcolo dei sequenti senza le regole di inferenza sui quantificatori, allora nel calcolo dei sequenti senza le regole di inferenza sui quantificatori esiste una derivazione cut-free ψ di ⊢ Γ tale che: • π ψ • ψ non ha regole strutturali di inferenza, se π non le ha Dimostrazione. ... Una analisi o una derivazione cut-free π nella quale sono usate le regole sui quantificatori solo per la quantificazione su variabili individuali, ossia una analisi o derivazione del primo ordine, soddisfa il principio della sottoformula estesa: poiché ogni regola usata nella derivazione preserva il principio della sottoformula estesa, 22 ogni formula presente nella derivazione è sottoformula estesa di qualche formula presente nel sequente finale di π. Un teorema - dimostrato in una forma diversa da Gentzen - stabilisce che ogni derivazione senza premesse può essere trasformata - mediante le regole di trasformazione del calcolo dei sequenti - in una derivazione cut-free ossia in una derivazione che soddisfa il principio della sottoformula estesa. Teorema 2. Teorema di eliminazione del taglio per la logica del primo ordine Se π è una derivazione di ⊢ Γ da nessuna premessa nel calcolo dei sequenti per la logica classica del primo ordine, senza le regole di inferenza sui quantificatori, allora nel calcolo dei sequenti per la logica classica del primo ordine esiste una derivazione cut-free ψ di ⊢ Γ tale che: • π ψ • ψ non ha regole strutturali di inferenza, se π non le ha Dimostrazione. ... 1.9 Gli invarianti delle derivazioni, la diversità delle derivazioni di una stessa formula Nel calcolo dei sequenti viene definita la relazione π ψ tra analisi e dunque tra derivazioni. Quando per due derivazioni π e ψ si ha che π ψ , in un certo senso le due derivazioni sono uguali nel senso che entrambe rappresentano una dimostrazione che si manifesta in forme diverse lungo il processo di trasformazione. O meglio: si deve poter assegnare ad ogni derivazione π un qualcosa (meglio ancora, qualcosa appartenente a una buona classe di strutture matematiche) che sarà denotato con kπk ( e sarà chiamato l’invariante della derivazione π) in modo che valga: se π ψ allora kπk = kψk. Una siffatta assegnazione di un oggetto kπk ad ogni derivazione π sarà chiamata assegnazione di invarianti alle derivazioni o anche semantica delle derivazioni (semantica delle dimostrazioni). Pertanto, sotto qualunque assegnazione di invarianti alle derivazioni, si dovrà avere: se ψ π1 e ψ π2 , allora kπ1 k = kψk e kπ2 k = kψk cosicché kπ1 k = kπ2 k. Ossia: due derivazioni che si trasformano entrambe in una terza devio essere ritenute uguali. Una assegnazione di invarianti alle derivazioni è banale quando rende sempre uguali due derivazioni di una stessa formula, ossia quando vale che per ogni formula A se π1 e π2 sono derivazioni dello stesso sequente ⊢ A allora kπ1 k = kπ2 k. Il teorema seguente mostra che in logica classica - per la presenza delle regole strutturali - ogni assegnazione di invariati è banale, e dunque che in logica classica siamo sempre obbligati a dichiarare uguali tutte le derivazioni di una stessa formula; in sostanza, ciò mostra che in logica classica quel che conta non sono le singole dimostrazioni bensì la dimostrabilità, e ciò per effettio delle regole strutturali. Teorema 3. Sia A una formula, π1 una derivazione di ⊢ A e π2 una derivazione di ⊢ A. Esiste una derivazione ψ di ⊢ A tale che ψ π1 e ψ π2 . Pertanto, kπ1 k = kπ2 k. Dimostrazione. Date le derivazioni π1 e π2 di ⊢ A si costruisca la seguente derivazione ψ di ⊢ A mediante due applicazioni della regola (W), una successiva applicazione della regola (cut) e una applicazione finale della regola (C): 23 .. .. .π2 . π1 ⊢ A ⊢ A ⊢ A, B ⊢ ¬B, A ⊢ A, A ⊢A ψ π1 e ψ π2 , usando le regole strutturali di trasformazione (W,cut) e (W,C): .. .. .π2 .π1 ⊢ A ⊢ A ⊢ A, B ⊢ ¬B, A ⊢ A, A ⊢A .. .. .π2 .π1 ⊢ A ⊢ A ⊢ A, B ⊢ ¬B, A ⊢ A, A ⊢A 1.10 (W,cut) .. .π1 ⊢ A ⊢ A, A ⊢A (W,cut) .. .π2 ⊢ A ⊢ A, A ⊢A (W,C) .. . π1 ⊢ A (W,C) .. . π2 ⊢ A Alcune formule derivabili e le loro derivazioni cut-free Consideriamo la seguente formula ∀X(¬X ∨ X) dove X è una variabile per proposizioni. Tale formula può essere scritta anche come ∀X(X → X) e verrà chiamata ID (identità). ID è derivabile, ossia il sequente ⊢ ∀X(¬XveeX) è derivabile, e esiste solo una derivazione cut-free di ⊢ ∀X(¬XveeX) (una derivazione che non fa uso di regole strutturali). Consideriamo la seguente formula ∀X(¬X ∨ (¬X ∨ X)) dove X è una variabile per proposizioni. Tale formula può essere scritta anche come ∀X(X → (X → X)) e verrà chiamata BOOLE (booleani). BOOLE è derivabile, ossia il sequente ⊢ ∀X(¬X ∨ (¬X ∨ X) è derivabile, e esistono solo due derivazione cut-free di ⊢ ∀X(¬X ∨ X), entrambe le derivazione fanno uso della regola strutturali (W) (una dimostrazione per introdurre la prima occorrenza di ¬A e la seconda dimostrazione per introdurre la seconda occorrenza di ¬A). Consideriamo la seguente formula 24 ∀X((X ∧ ¬X) ∨ (¬X ∨ X)) dove X è una variabile per proposizioni. Tale formula può essere scritta anche come ∀X((X → X) → (X → X)) e verrà chiamata IN T (interi, numeri naturali). IN T è derivabile, ossia il sequente ⊢ ∀X(¬X ∨ (¬X ∨ X)) è derivabile, e esistono infinite derivazioni cut-free di ⊢ ∀X(¬X ∨ (¬X ∨ X)): • una derivazione fa uso della regola (W) per introdurre la formula (X ∧ ¬X), • un’altra derivazione fa nessun uso delle regole strutturali, • un’altra derivazione fa uso di una applicazione della regola (C) per contrarre due occorrenze di (X∧¬X), • per ogni n esiste una derivazione che fa uso di n applicazioni della regola (C) per contrarre n + 1 occorrenze di (X ∧ ¬X). 25 26 Capitolo 2 Logica Intuizionista, corrispondenza Curry-Howard, sistema F 2.1 Le formule e i sequenti della logica intuizionista La logica intuizionista si ottiene dalla logica classica mediante la rinuncia alla dualità nella classe delle formule e in quella dei sequenti, in modo che con le formule e i sequenti non possa più essere fatta quella catena di inferenze che portavano da due derivazioni π1 e π2 della stessa formula a una nuova derivazione della stessa formula che si trasforma in ciascuna delle due derivazioni π1 e π2 che devono dunque essere considerate uguali. 2.1.1 Formule intuizioniste e sequenti intuizionisti La classe delle formule della logica classica viene limitata a una sottoclasse di formule (formule intuizioniste), prendendo come intuizionista una sola formula per ogni coppia di formule (A, B) che siano una la negazione dell’altra e che chiameremo (secondo la tradizione aristotelica) coppie contraddittorie, nel modo seguente, per induzione sulla costruzione delle coppie di formule della logica classica. • BASE DI INDUZIONE (formule atomiche) – nella coppia contraddittoria (V ERO, F ALSO), si prende come intuizionista la formula F ALSO, – nella coppia contraddittoria (A, B) dove A e B sono formule atomiche diverse da V ERO e F ALSO, una sola delle due è presa come formula intuizionista. • PASSO DI INDUZIONE – Sia stata già scelta la formula intuizionista in ciascuna di due coppie contraddittorie (A, ¬A) e (B, ¬B) e siano A, B le formule scelte come intuizioniste. La scelta della formula intuizionista all’interno delle coppie contraddittorie (A∧B, ¬A∨¬B), (¬A∧B, A∨¬B), (A∧¬B, ¬A∨B), (¬A∧ ¬B, A ∨ B) è fatta come segue: ∗ nella coppia (A ∧ B, ¬A ∨ ¬B) la formula intuizionista è A ∧ B, ∗ nella coppia (¬A ∧ B, A ∨ ¬B) la formula intuizionista è A ∨ ¬B che viene rappresentata da B ← A, ∗ nella coppia (A ∧ ¬B, ¬A ∨ B) la formula intuizionista è A ∨ ¬B che viene rappresentata da A → B, 27 ∗ nella coppia (¬A ∧ ¬B, A ∨ B) la formula intuizionista è A ∨ B. – Sia stata già scelta la formula intuizionista in ciascuna di due coppie contraddittorie (A, ¬A) e (B, ¬B) e siano A, B le formule scelte come intuizioniste. La scelta della formula intuizionista all’interno delle coppie contraddittorie (∀xA, ∃x¬A) e (∃xA, ∀x¬A) è fatta come segue: ∗ nella coppia (∀xA, ∃x¬A) la formula intuizionista è ∀xA, ∗ nella coppia (∃xA, ∀x¬A) la formula intuizionista è ∃xA. • CLAUSOLA FINALE: nient’altro è formula intuizionista. È facile mostrare che, per ogni formula classica A, se A non è intuizionista, allora A è ¬B di qualche formula intuizionista. La rinuncia intuizionista alla dualità nelle formule sta nel fatto che per nessuna formula intuizionista esiste il suo duale, ossia la sua negazione. La classe dei sequenti della logica classica viene limitata a una sottoclasse di sequenti (sequenti intuizionisti): un sequente della logica classica è un sequente intuzionista se e soltanto se esso contiene esattamente una formula intuizionista e tutte le altre formule sono dunque negazioni di formule intuizioniste. Un sequente intuizionista può essere presentato nella forma ⊢ ¬(Γ), A dove A è una formula intuizionista e Γ è una successione finita di occorrenze di formule intuizioniste. Un sequente intuizionista della forma ⊢ ¬(Γ), A (dove A è una formula intuizionista e Γ è una successione finita di occorrenze di formule intuizioniste) viene spesso presentato nella forma Γ ⊢ A. La rinuncia intuizionista alla dualità nei sequenti intuizionista sta nel fatto che non solo si usano formule intuizioniste ma anche si tratta in maniera del tutto asimmetrica lo spazio costituito dalle negazioni delle formule intuizioniste (che può contenere un arbitrario numero finito di elementi) e quello costituito dalle formule intuizioniste (che contiene esattamente un elemento); in sostanza quando un sequente intuizionista viene rappresentato nella forma Γ ⊢ A a sinistra del simbolo ⊢ ci può essere un numero finito arbitrario di occorrenze di formule, nello spazio a destra del simbolo ⊢ ci deve essere soltanto esattamente una occorrenza di formula. Si verifichi che sono intuizioniste le formule considerate nella sezione 1.10. 2.1.2 Altra definizione delle formule intuizioniste e dei seguenti intuizionisti Le formule intuizioniste possono essere anche definite con questa definizione induttiva: • BASE DI INDUZIONE (Formule atomiche intuizioniste) – FALSO è una formula intuizionista; – Se A e B sono due formule atomiche classiche contraddittorie, allora una e una sola di esse è una formula intuizionista. • PASSO DI INDUZIONE – Se A e B sono formule intuizioniste, allora A ∧ B, A → B e A ∨ B sono formule intuizioniste; – se A è una formula intuizionista, e x è una variabile e ∀x e ∃x non occorrono in A, allora ∀xA e ∃xA sono formule intuizioniste. • CLAUSOLA FINALE: nient’altro è una formula intuizionista. E i sequenti intuizionisti possono essere definiti in questa maniera: un sequente intuizionista è una coppia costituita da un multinsieme finito (anche vuoto) di formule intuizioniste (le premesse del sequente), e una sola formula intuizionista (la conclusione del sequente), e può essere rappresentate come Γ ⊢ A dove Γ è una successione di tutte le premesse del sequente e A è la conclusione del sequente. 28 2.1.3 La negazione intuizionista Se A è una formula intuizionista, allora la negazione intuizionista di A (denotata ∼ A) è la formula definita come segue: ∼ A = A → F ALSO. Mostriamo che : se A è una formula intuizionista, allora anche ∼ A lo è e . ∼ A è equivalente a ¬A. Infatti, è evidente che la negazione intuizionista di una formula intuizionista è una formula intuizionista che però non è uguale alla negazione classica: se A è una formula intuizionista, allora ∼ A = A → F ALSO = ¬A ∨ F ALSO. La negazione intuizionista di una formula intuizionista è solo equivalente alla sua negazione classica: da ¬A si ottiene ∼ A mediante la regola (`), e da ∼ A si ottiene ¬A poiché la regola (`) è reversibile. Mostriamo che, se A è una formula classica e non è intuizionista, allora A è equivalente a ∼ (¬A). Infatti, se A è una formula classica e non è intuizionista, allora è intuizionista la sua negazione ¬A, e per quanto abbiamo mostrato sopra ∼ (¬A) è equivalente a ¬¬A che è la formula A. Quando Γ è una successione finita di formule intuizioniste, con ∼ (Γ) denotiamo la successione che si ottiene rimpiazzando ogni formula A in Γ con ∼ A. 2.2 Derivazioni intuizioniste Una derivazione intuizionista è una derivazione in logica classica, nella quale ogni sequente è un sequente intuizionista. Un sequente intuizionista è derivabile in logica intuizionista (da un insieme M anche vuoto di seguenti intuizionisti) se e soltanto se esiste una sua derivazione intuizionista (da M ). Pertanto, ogni sequenze intuizionista derivabile nella logica intuizionista è anche derivabile nella logica classica. Una inferenza intuizionista è un’inferenza secondo una delle regole di inferenza della logica classica, nella quale le premesse e la conclusione sono sequenti intuizionisti. Una trasformazione intuizionista di derivazioni è una trasformazione di derivazioni secondo una regola di trasformazione della logica classica, nella quale le due derivazioni sono intuizioniste. Nei paragrafi successivi di questa sezione mostreremo, per ciascuna regola (di inferenza o di trasformazione) della logica classica, le forme con cui si presentano le inferenze intuizioniste o le trasformazioni di derivazioni intuizioniste secondo quella regola. Tali forme le indicheremo scrivendo i sequenti intuizionisti nel formato Γ ⊢ A con A formula intuizionista e Γ successione finita di formule intuizioniste. 2.2.1 Regole basilari in logica intuizionista Le inferenze intuizioniste secondo le regole basilari di inferenza sono quelle che si riconducono ai seguenti casi: (id) A⊢A Γ⊢A A, ∆ ⊢ B (cut) Γ, ∆ ⊢ B Le trasformazioni di derivazioni intuizioniste secondo la regola basilare di trasformazione sono quelle che si riconducono ai due casi seguenti: 29 .. .π A, Γ ⊢ B A⊢A A, Γ ⊢ B .. .π Γ⊢A A⊢A Γ⊢A 2.2.2 (id,cut) .. .π A, Γ ⊢ B (id,cut) .. .π Γ⊢A Regole strutturali in logica intuizionista Le inferenze intuizioniste secondo le regole strutturali di inferenza sono quelle che si riconducono ai seguenti casi: A, A, Γ ⊢ B (C) A, Γ ⊢ B Γ⊢B (W ) A, Γ ⊢ B Le trasformazioni di derivazioni intuizioniste secondo le regole strutturali di trasformazione sono quelle che si riconducono ai due casi seguenti: .. .π1 Γ ⊢A .. .π2 ∆ ⊢B A, ∆ ⊢ B Γ, ∆ ⊢ B .. .π1 Γ ⊢A 2.2.3 .. .π2 A , A, ∆ ⊢ B A, ∆ ⊢ B ⊢ Γ, ∆ (W,cut) .. .π1 Γ ⊢A (C,cut) .. .π2 ∆ ⊢B Γ∆ ⊢ B .. .. .π1 .π1 ⊢ Γ, A, A Γ ⊢A ⊢ Γ, ∆, A ⊢ Γ, ∆, ∆ ⊢ Γ, ∆ Regole sulle unità logiche in logica intuizionista Le inferenze intuizioniste secondo le regole di inferenza sulle unità logiche sono quelle che si riconducono al seguente caso della fregola additiva (T): F ALSO, Γ ⊢ B (T ) e questo caso viene chiamato in logica intuizionista con il nome (FALSO, L). 2.2.4 Regole sui connettivi proposizionali in logica intuizionista Le inferenze intuizioniste secondo la regola moltiplicativa di inferenza (⊗) sono quelle che si riconducono ai seguenti casi, per ciascuno dei quali indichiamo il nome dato nella logica intuizionista: 30 Γ⊢A ∆⊢B (∧, m, R) Γ, ∆ ⊢ A ∧ B Γ⊢A B, ∆ ⊢ C (→, L) A → B, Γ, ∆ ⊢ C A, Γ ⊢ C ∆⊢B (→, L) B → A, Γ, ∆ ⊢ C dove il terzo caso risulta essere solo una diversa equivalente formulazione del secondo caso. Le inferenze intuizioniste secondo la regola moltiplicativa di inferenza (`) sono quelle che si riconducono ai seguenti casi, per ciascuno dei quali indichiamo il nome dato nella logica intuizionista: A, Γ ⊢ B (→, R) Γ⊢A→B A, B, Γ ⊢ C (∧, L) A ∧ B, Γ ⊢ A → B Le trasformazioni intuizioniste secondo la regola moltiplicativa di trasformazione delle derivazioni (⊗, `, cut) si riconducono ai seguenti due casi, il primo dei quali viene visto in logica intuizionista come regola di riduzione moltiplicativa della congiunzione e il secondo come regola di riduzione della implicazione: .. .. .. .π3 .π1 .π2 A , B, ∆ ⊢ C Γ1⊢A Γ2 ⊢B Γ1 , Γ2 ⊢ A ∧ B A ∧ B, ∆ ⊢ C Γ1 , Γ2 , ∆ ⊢ C (⊗,`,cut) .. .. .. .π1 .π2 .π3 Γ1⊢A B , Γ2 ⊢ C A,∆ ⊢ B A → B, Γ1 , Γ2 ⊢ C ∆⊢A→B Γ1 , Γ2 , ∆ ⊢ C (⊗,`,cut) .. .π1 Γ1⊢A .. .. . π2 .π3 Γ2⊢B B , A, ∆ ⊢ C A, Γ2 , ∆ ⊢ C Γ1 , Γ2 , ∆ ⊢ C .. .π1 Γ1⊢A .. .. .π2 .π3 B , Γ2 ⊢ C A,∆ ⊢ B A, Γ2 , ∆ ⊢ C Γ1 , Γ2 , ∆ ⊢ C Le inferenze intuizioniste secondo la regola additiva di inferenza (&) sono quelle che si riconducono ai seguenti casi, per ciascuno dei quali indichiamo il nome dato nella logica intuizionista: Γ⊢A Γ⊢B (∧, R) Γ⊢A∧B A, Γ ⊢ C B, Γ ⊢ C (∨, L) A ∨ B, Γ ⊢ C Le inferenze intuizioniste secondo la regola additiva di inferenza (⊕) sono quelle che si riconducono ai seguenti casi, per ciascuno dei quali indichiamo il nome dato nella logica intuizionista: Γ⊢A (∨, R1) Γ ⊢ A∨B Γ⊢B (∨, R2) Γ⊢A∨B A, Γ ⊢ C (∧, L1) A ∧ B, Γ ⊢ C B, Γ ⊢ C (∧, L2) A ∧ B, Γ ⊢ C Le trasformazioni intuizioniste secondo le due regole additive di trasformazione delle derivazioni (⊕, &, cut) si riconducono ai seguenti quattro casi, dei quali i primi due vengono visti in logica intuizionista come regola di riduzione della disgiunzione e gli altri due come regola di riduzione (additiva) della congiunzione: .. .π1 Γ ⊢A Γ ⊢ A∨B .. .. . π2 .π3 A,∆ ⊢ C B,∆ ⊢ C A ∨ B, ∆ ⊢ C Γ, ∆ ⊢ C .. .π1 Γ ⊢B Γ⊢A∨B .. .. .π3 .π2 B,∆ ⊢ C A,∆ ⊢ C A ∨ B, ∆ ⊢ C Γ, ∆ ⊢ C 31 (⊕1,&,cut) .. .. .π1 . π2 Γ ⊢A A,∆ ⊢ C Γ, ∆ ⊢ C (⊕2,&,cut) .. .. .π1 .π3 Γ ⊢B B,∆ ⊢ C Γ, ∆ ⊢ C .. .π1 A,Γ ⊢ C A ∧ B, Γ ⊢ C .. .π1 B,Γ ⊢ C A ∧ B, Γ ⊢ C .. .. .π2 .π3 ∆ ⊢A ∆ ⊢B ∆⊢ A∧B Γ, ∆ ⊢ C (⊕1,&,cut) .. .. .π2 .π3 A,∆ ⊢ C B,∆ ⊢ C A ∨ B, ∆ ⊢ C Γ, ∆ ⊢ C .. .. .π1 .π2 A,Γ ⊢ C ∆ ⊢A Γ, ∆ ⊢ C (⊕2,&,cut) .. .. .π1 .π3 B,Γ ⊢ C ∆ ⊢B Γ, ∆ ⊢ C La regola (∧, m, R) è derivabile in logica intuizionista - mediante le regole strutturali - dalla regola (∧, R) che viene usualmente presa come unica regola di introduzione della congiunzione nella parte destra di un sequente intuizionista. Analogamente la regola (∧, m, L) è derivabile in logica intuizionista - mediante le regole strutturali - dalle regole (∧, L1) e (∧, L2) che sono usualmente prese come uniche regole di introduzione della congiunzione nella parte sinistra di un sequente intuizionista. 2.2.5 Regole sui quantificatori in logica intuizionista Le inferenze intuizioniste secondo la regola di inferenza (∃) (per la quantificazione su variabili di un tipo qualsiasi T ) sono quelle che si riconducono ai seguenti casi, per ciascuno dei quali indichiamo il nome dato nella logica intuizionista: Γ ⊢ A[t/x] (∃, R)(ttermine di tipo T ,xvariabile di tipo T ) Γ ⊢ ∃xA A[t/x], Γ ⊢ C (∀, L))(ttermine di tipo T ,xvariabile di tipo T ) ∀xA ⊢ C Le inferenze intuizioniste secondo la regola di inferenza (∀) (per la quantificazione su variabili di un tipo qualsiasi T ) sono quelle che si riconducono ai seguenti casi, per ciascuno dei quali indichiamo il nome dato nella logica intuizionista: Γ ⊢ A[y/x] (∀, R)(y variabile di tipo T non libera in Γ, x variabile di tipo T ) Γ ⊢ ∀xA A[y/x], Γ ⊢ C (∃, L)(y variabile di tipo T non libera in Γ, x variabile di tipo T ) Γ, ∃xA ⊢ C Le trasformazioni intuizioniste secondo la regola di trasformazione delle derivazioni (∃, ∀, cut) si riconducono ai seguenti due casi, il primo dei quali viene visto in logica intuizionista come regola di riduzione del quantificatore esistenziale e il secondo come regola di riduzione della quantificazione universale: .. .. .π1 . π2 Γ ⊢ A[t/x] A [y/x], ∆ ⊢ C Γ ⊢ ∃xA ∃xA, ∆ ⊢ C Γ, ∆ ⊢ C .. .. .π1 .π2 A [t/x], Γ ⊢ C ∆ ⊢ A[y/x] ∀xA, Γ ⊢ C ∆ ⊢ ∀xA Γ, ∆ ⊢ C (∃,∀,cut) (∃,∀,cut) 32 .. .π1 Γ ⊢ A[t/x] .. .π2 [t/y] A [t/x], ∆ ⊢ C Γ, ∆ ⊢ C .. .. .π2 [t/y] .π1 A [t/x], Γ ⊢ C ∆ ⊢ A[t/x] Γ, ∆ ⊢ C 2.3 Derivabilità classica e derivabilità intuizionista I risultati considerati in 1.8 per la logica classica, intorno al principio della sottoformula e all’eliminazione dei tagli, valgono anche per la logica intuizionista. Il teorema 3 non vale per la logica intuizionista: difatti, come vedremo, esistono assegnazioni non banali di invariati per le derivazioni della logica intuizionista. Si osservi - per il momento - che la dimostrazione del teorema 3 non può essere applicata alla logica intuizionista: date due derivazioni dello stesso sequente ⊢ A mediante (W) non posso aggiungere una formula B intuizionista come conclusione (nello spazio a destra di ⊢) ad uno dei due seguenti e come ipotesi (nello spazio a sinistra di ⊢ ) all’altro sequente, poiché nella logica intuizionista non c’è la possibilità di aggiungere conclusioni ad un sequente. Ci soffermiamo ora su alcuni importanti risultati che chiariscono il rapporto tra la derivabilità in logica classica e quella in logica intuizionista, e si basano sulla negazione intuizionista e sulla doppia negazione intuizionista. 2.3.1 La negazione intuizionista e la doppia negazione intuizionista Innanzitutto, si osservi che sono regole intuizioniste derivabili le seguenti regole di inferenza: Γ, A ⊢ F ALSO (→, R) Γ ⊢∼ A Γ⊢A (→, L)e(F ALSO) ∼ A, Γ, ∆ ⊢ C dove C è una formula arbitraria (che può essere anche F ALSO). Si verifichi che sono derivabili in logica intuizionista i seguenti, per ogni formula A e per ogni formula B: ∼ (A ∨ B) ⊢∼ A∧ ∼ B ∼ A∧ ∼ B ⊢∼ (A ∨ B) ∼ (∃xA) ⊢ ∀x ∼ A ∀x ∼ A ⊢∼ (∃xA) A ∧ B ⊢∼ (∼ A∨ ∼ B) ∀xA ⊢∼ ∃x ∼ A Una formula intuizionista A è equivalente in logica intuizionista alla sua doppia negazione intuizionista, quando sono derivabili in logica intuizionista i seguenti A ⊢∼∼ A e ∼∼ A ⊢ A. Si accerti che è derivabile nella logica per ogni formula intuizionista A il sequente intuizionista A ⊢∼∼ A (esercizio). Pertanto, una formula intuizionista A è equivalente in logica intuizionista alla sua doppia negazione intuizionista quando vale il sequente ∼∼ A ⊢ A. Si osservi che ciascuna formula intuizionista, in logica classica, è equivalente alla sua doppia negazione intuizionista: infatti i seguenti A ⊢∼∼ A e ∼∼ A ⊢ A sono derivabili in logica classica per ogni formula A. Pertanto, le formule intuizioniste che non sono equivalenti in logica intuizionista alla loro doppia negazione intuizionista forniscono esempi di seguenti intuizionisti che sono derivabili in logica classica e non derivabili in logica intuizionista. Si accerti anche (esercizio) che - se nella logica intuizionista non si deriva mai per le variabile proposizionali P il sequente P ⊢ F ALSO o il sequente ∼∼ P, P ⊢ F ALSO - nella logica intuizionista ci sono formule intuizioniste A tali che il sequente ∼∼ A ⊢ A non è derivabile, ossia esistono formule intuizioniste che non sono equivalenti in logica intuizionista alla loro doppia negazione intuizionista. Ma ci sono comunque formule intuizioniste A per le quali è derivabile il sequente ∼∼ A ⊢ A e dunque formule intuizioniste che sono equivalenti in logica intuizionista alla loro doppia negazione intuizionista . Si verifichi (esercizio) che esempi di tali formule sono: 33 • la formula FALSO • la negazione intuizionista di qualunque formula intuizionista, ossia ∼ A per ogni formula intuizionista A. Inoltre, se A e B sono formule intuizioniste equivalenti in logica intuizionista alla loro doppia negazione intuizionista, allora la stessa proprieà è goduta dalla loro congiunzione, dalla loro implicazione e dalla loro quantificazione universale. Si verifichi infatti che in logica intuizionista, quando sono derivabili i seguenti ∼∼ A ⊢ A e ∼∼ B ⊢ B, sono derivabili anche i seguenti • ∼∼ (A ∧ B) ⊢ A ∧ B, • ∼∼ (A → B) ⊢ A → B • ∼∼ (∀xA) ⊢ ∀xA . • ∼ (∼ A∨ ∼ B) ⊢ A ∧ B • ∼ ∃x ∼ A ⊢ ∀xA Pertanto, in logica intuizionista, quando sono derivabili i seguenti ∼∼ A ⊢ A e ∼∼ B ⊢ B: • A ∧ B, ∼∼ (A ∧ B) e ∼ (∼ A∨ ∼ B) sono equivalenti; • ∼∼ (A ∨ B) e ∼ (∼ A∧ ∼ B) sono equivalenti; • ∀xA, ∼∼ ∀xA e ∼ ∃x ∼ A sono equivalenti; • ∼∼ ∃xA e ∼ ∀x ∼ A sono equivalenti. 2.3.2 Traduzione della logica classica entro la logica intuizionista Il teorema seguente mostra che ogni formula e ogni sequente derivabile in logica classica - opportunamente tradotto, in una traduzione classicamente equivalente - è derivabile anche in logica intuizionista. La traduzione delle formule e dei seguenti dalla logica classica alla logica intuizionista fa uso di ciò che abbiamo visto nella sezione precedente a proposito della doppia negazione intuizionista delle formule intuizioniste, ed è quindi chiamata traduzione per doppia negazione. Teorema 4. Esiste una traduzione g di ogni formula della logica classica in una formula della logica intuizionista tale che: 1. per ogni formula classica A, g(A) e A sono equivalenti in logica classica, e in logica intuizionista g(¬A) è ∼ g(A) e g(A) è equivalente alla sua doppia negazione intuizionista e g(¬A) è equivalente a ∼ g(A); 2. ogni derivazione di un sequente ⊢ Γ in logica classica può essere trasformata in una derivazione di ∼ g(Γ) ⊢ F ALSO in logica intuizionista. Dimostrazione. La traduzione g viene definita per induzione sulla costruzione delle formule, nel modo seguente: • g(V ERO) è ∼ F ALSO ossia F ALSO → F ALSO, g(F ALSO) è F ALSO • se A è una formula atomica intuizionista, allora g(A) è ∼∼ A e g(¬A)è ∼ A • g(A ∧ B è ∼ (∼ g(A)∨ ∼ g(B)), g(A ∨ B) è ∼ (∼ g(A)∧ ∼ g(B)) 34 • g(∀xA) è ∼ ∃x ∼ g(A), g(∃xA) è ∼ ∀x ∼ g(A) . Quando Γ è una successione di formule della logica classica, con g(Γ) denotiamo la successione di formule intuizioniste che sono la traduzione delle formule di Γ. Passiamo ora alla dimostrazione dei due punti del teorema. 1. La dimostrazione - per induzione sulla costruzione della formula A - sfrutta quanto stabilito nel paragrafo precedente a proposito della negazione intuizionista e della doppia negazione intuizionista. 2. La dimostrazione - per induzione sulla costruzione della derivazione di un sequente in logica classica consiste sostanzialmente nel trasformare ogni inferenza classica in una inferenza intuizionista sulla parte sinistra dei seguenti, e nell’usare in maniera opportuna le regole derivate sulla negazione intuizionista. Nel caso degli regole basilari di inferenza, si fa uso del fatto che g(¬A) è equivalente a ∼ g(A) Corollario 1. Sia g una traduzione delle formule della logica classica in formule della logica intuizionista, come stabilito dal teorema 4. Allora, per ogni formula A della logica classica se A è derivabile nella logica classica g(A) è derivabile nella logica intuizionista. 2.4 Le deduzioni naturali intuizioniste Una deduzione naturale D è costituito da: • un albero di formule intuizioniste (l’albero di D) con diramazioni unarie, binarie o ternarie, nel quale ogni foglia sta in uno di due stati (attiva o scaricata) • un insieme finito (anche vuoto) di occorrenze di formule (chiamate le assunzioni di D, rappresentato da qualunque successione finita Γ di tutti i suoi elementi, che soddisfa a queste condizioni: ogni assunzione A di D rappresenta un numero finito (anche vuoto) di foglie attive dell’albero di D che sono etichettate dalla stessa formula A, ogni foglia attiva dell’albero di D è rappresentato da una assunzione di D. Se D è una deduzione naturale , A è la radice di D e Γ rappresenta le assunzioni di D, si dice che D è una deduzione naturale della formula A dalle assunzioni Γ. Nei prossimi paragrafi diamo una definizione delle deduzioni naturali intuizioniste e delle regole per la loro trasformazione, mostrando che • ad ogni deduzione naturale intuizionista di A da Γ si può associare una derivazione del sequente Γ ⊢ A nella logica intuizionista, • ad ogni derivazione di un sequente Γ ⊢ A si può associare una deduzione naturale intuizionista di A da Γ, • ad ogni trasformazione di una deduzione naturale intuizionista di A da Γ si può associare una trasformazione della corrispondente derivazione del sequente Γ ⊢ A, • ad ogni trasformazione di una derivazione del sequente Γ ⊢ A nella logica intuizionista si può associare una deduzione naturale intuizionista di A da Γ In questa maniera, mentre la derivazione di un sequente Γ ⊢ A in logica intuizionista stabilisce intuitivamente che esiste una dimostrazione di A dalle assunzioni Γ, una corrispondente deduzione naturale di A da Γ mostra una dimostrazione di A da Γ, in una forma in qualche modo geometrica (un albero) ma purtroppo con tante peculiarità assolutamente non geometriche. 35 2.4.1 Definizione delle deduzioni naturali intuizioniste Le deduzioni naturali intuizioniste sono deduzioni naturali associate alle derivazioni intuizioniste e definite nel modo seguente, per induzione sulla costruzione delle derivazioni intuizioniste. • BASE DI INDUZIONE. – L’albero costituito da un solo punto A (dove A è una formula intuizionista) è una deduzione naturale intuizionista di A da A. Tale deduzione naturale è associata alla derivazione di A ⊢ A come conclusione della regola (Id). – L’albero costituito da un solo punto A è una deduzione naturale intuizionista di A da Γ, F ALSO per qualunque successione finita di formule intuizioniste Γ. Tale deduzione naturale è associata alla derivazione di Γ, F ALSO ⊢ A come conclusione della regola (FALSO,L). • PASSO DI INDUZIONE – (Regola di indebolimento). Se D è una deduzione naturale di A da Γ, e ∆ è una successione finita di formule intuizioniste, allora si ottiene una deduzione naturale D’ da Γ, ∆ prendendo come albero l’albero di D e come assunzioni l’insieme ottenuto da quello rappresentato da Γ aggiungendo gli elementi di Γ i quali non rappresentano alcuna foglia dell’albero. D’ è la deduzione naturale associata alla derivazione che si ottiene applicando la regola (W+) alla derivazione associata a D. – (Regola di contrazione) Se Dè una deduzione naturale di A da Γ, A, A, allora si ottiene una deduzione naturale D’ da Γ, A prendendo come albero l’albero di D e come assunzioni l’insieme ottenuto da quello rappresentato da Γ, A, A togliendo una delle due occorrenze di A e facendo rappresentare dall’altra occorrenza anche tutte le foglie attive prima rappresentate dall’occorrenza eliminata di A. D’ è la deduzione naturale associata alla derivazione che si ottiene mediante un’applicazione di (C+) dalla derivazione associata a D. – (Cut) Se D1 è una deduzione naturale di A da Γ e D2 è una deduzione naturale di C da A, ∆, si costruisce una nuova deduzione naturale D di C da Γ, ∆ prendendo ∗ come albero di D l’albero che si ottiene da D2 rimpiazzando con l’albero D1 ogni foglia A di D2 rappresentata dall’assunzione A in A, ∆, e dunque un albero con radice C ∗ come insieme delle assunzioni di D l’insieme costituito dalle formule in Γ (che rappresentano le stesse foglie attive che rappresentavano in D1 ) e dalle formule in ∆ (che rappresentano le stesse foglie attive che rappresentavano in D2 ). D è la deduzione naturale associata alla derivazione che si ottiene mediante (cut) dalla derivazione associata a D1 e da quella associata a D2 . – (Regola di introduzione della congiunzione, (∧, I) ). Se D1 è una deduzione naturale di A e D2 è una deduzione naturale di B, allora si ottiene una deduzione naturale di A ∧ B nel modo seguente: ∗ l’albero è ottenuto dall’albero di D1 con radice A e dall’albero D2 con radice B, facendo diventare queste radici premesse di un legame la cui conclusione è A ∧ B ∗ le assunzioni sono tutte le assunzioni di D1 e tutte le assunzioni di D2 , senza alcuna modifica nella rappresentazione delle foglie attive. D è, una volta usata la regola di contrazione, la deduzione naturale associata alla derivazione ottenuta da D1 e da D2 mediante (∧, R). – (Regola di eliminazione della congiunzione, (∧, E1). Se D è una deduzione naturale in cui A è un’assunzione, allora si ottiene una deduzione naturale D’ in cui l’assunzione A è rimpiazzata dall’assunzione A ∧ B nel modo seguente: ∗ l’albero è ottenuto dall’albero di D aggiungendo per ogni foglia aperta associata all’assunzione A un nodo A ∧ B con un legame in cui A ∧ B è premessa e A è conclusione; 36 ∗ le assunzioni sono tutte le assunzioni di D eccetto A che è rimpiazzata da A ∧ B alla quale sono associate tutte le foglie aperte A ∧ B aggiunte all’albero di D. D’ è la deduzione naturale associata alla derivazione ottenuta da D mediante un’applicazione di (∧, L1). – (Regola di eliminazione della congiunzione, (∧, E2). Se D è una deduzione naturale in cui B è un’assunzione, allora si ottiene una deduzione naturale D’ in cui l’assunzione B è rimpiazzata dall’assunzione A ∧ B nel modo seguente: ∗ l’albero è ottenuto dall’albero di D aggiungendo per ogni foglia aperta associata all’assunzione B un nodo A ∧ B con un legame in cui A ∧ B è premessa e B è conclusione; ∗ le assunzioni sono tutte le assunzioni di D eccetto B che è rimpiazzata da A ∧ B alla quale sono associate tutte le foglie aperte A ∧ B aggiunte all’albero di D. D’ è la deduzione naturale associata alla derivazione ottenuta da D mediante un’applicazione di (∧, L2). – (Regola di introduzione dell’implicazione, (→, I)). Se D è una deduzione naturale di B dalle assunzioni Γ, A, allora si ottiene una deduzione naturale D’ di A → B d Γ come segue: ∗ l’albero è ottenuto dall’albero di D aggiungendo un nodo A → B che ha come premessa la radice B di D, e trasformando in scaricate tutte le foglie aperte di D che erano rappresentate dall’assunzione A; ∗ le assunzioni sono quelle di D con la eliminazione però dell’assunzione A. D’ è la deduzione naturale associata alla derivazione ottenuta da D mediante un’applicazione di (→, R). – (Regola di eliminazione dell’implicazione, (→, E)). Se D1 è una deduzione naturale con radice A e D2 è una deduzione naturale in cui B è un’assunzione, allora si ottiene una deduzione naturale D nel modo seguente: ∗ l’albero di D è ottenuto dall’albero di D2 , aggiungendo per ogni foglia aperta rappresentata dall’assunzione B un nuovo legame con due premesse che ha come conclusione il nodo B, come prima premessa la radice A di D1 con tutto l’albero di D1 , e come seconda premessa una foglia aperta A → B; ∗ le assunzioni di D sono tutte le assunzioni di D1 e tutte le assunzioni di D2 eccetto l’assunzione A. D è la deduzione naturale associata alla derivazione ottenuta da D1 e da D2 mediante (→, L). – (Regola di introduzione della disgiunzione, (∨, I1). Se D è una deduzione naturale in cui A è la radice dell’albero, allora si ottiene una deduzione naturale D’ in cui la radice è A ∨ B nel modo seguente: ∗ l’albero è ottenuto dall’albero di D aggiungendo un nodo A ∨ B con un legame in cui A ∨ B è conclusione e A è premessa; ∗ le assunzioni sono tutte le assunzioni di D. D’ è la deduzione naturale associata alla derivazione ottenuta da D mediante un’applicazione di (∨, R1). – (Regola di introduzione della disgiunzione, (∨, I2). Se D è una deduzione naturale in cui B è la radice dell’albero, allora si ottiene una deduzione naturale D’ in cui la radice è A ∨ B nel modo seguente: ∗ l’albero è ottenuto dall’albero di D aggiungendo un nodo A ∨ B con un legame in cui A ∨ B è conclusione e B è premessa; ∗ le assunzioni sono tutte le assunzioni di D. D’ è la deduzione naturale associata alla derivazione ottenuta da D mediante un’applicazione di (∨, R2). 37 – (Regola di eliminazione della disgiunzione, (∨, E) ). Se D1 è una deduzione naturale con radice C e con A fra le assunzioni, e D2 è una deduzione naturale con radice C e con B fra le assunzioni, allora si ottiene una deduzione naturale D nel modo seguente: ∗ l’albero è ottenuto dall’albero di D1 con radice C e dall’albero D2 con radice C, facendo diventare queste radici premesse di un legame a tre premesse la cui la terza premessa è una nuova foglia aperta A ∨ B e la conclusione è un nuovo nodo C, e rendendo scaricate tutte le foglie aperte rappresentate da A in D1 e tutte le foglie aperte rappresentate da B in D2 ; ∗ le assunzioni sono tutte le assunzioni di D1 tranne A, tutte le assunzioni di D2 tranne B, e A ∨ B che rappresenta la nuova foglia aperta A ∨ B . D - con opportuni usi delle regole di contrazione e di indebolimento - è la deduzione naturale associata alla derivazione ottenuta da D1 e da D2 mediante (∨, L). – (Regola di introduzione del quantificatore universale, (∀, I)). Se D è una deduzione naturale in cui A è la radice dell’albero, e la variabile y non è libera in nessuna delle assunzioni di D , allora si costruisce una deduzione naturale D’ la cui radice è ∀xA[x/y] nel modo seguente: ∗ l’albero è ottenuto dall’albero di D aggiungendo un nodo ∀xA[x/y] con un legame in cui ∀xA[x/y] è conclusione e A è premessa; ∗ le assunzioni sono tutte le assunzioni di D. D’ è la deduzione naturale associata alla derivazione ottenuta da D mediante un’applicazione di (∀, R). – (Regola di eliminazione del quantificatore universale, (∀, E)). Se D è una deduzione naturale in cui A[t/y] è un’assunzione, allora si costruisce una deduzione naturale D’ in cui l’assunzione A[t/y] è rimpiazzata da ∀xA[x/y] nel modo seguente: ∗ l’albero è ottenuto dall’albero di D aggiungendo, per ogni foglia aperta rappresentata dall’assunzione A[t/y], un nodo ∀xA[x/y] con un legame in cui ∀xA[x/y] è premessa e la foglia A[t/y] è conclusione ∗ le assunzioni sono tutte le assunzioni di D,eccetto A[t/y] che è rimpiazzata da ∀xA[x/y] alla quale sono associate tutte le foglie aperte ∀xA[x/y] aggiunte all’albero di D . D’ è la deduzione naturale associata alla derivazione ottenuta da D mediante un’applicazione di (∀, L). – (Regola di introduzione del quantificatore esistenziale, (∃, I)). Se D è una deduzione naturale in cui A[t/y] è la radice dell’albero, allora si costruisce una deduzione naturale D’ con radice A[t/y] è rimpiazzata da ∃xA[x/y] nel modo seguente: ∗ l’albero è ottenuto dall’albero di D aggiungendo un nodo ∃xA[x/y] con un legame in cui ∃xA[x/y] è conclusione e la foglia A[t/y] è premessa; ∗ le assunzioni sono tutte le assunzioni di D. D’ è la deduzione naturale associata alla derivazione ottenuta da D mediante un’applicazione di (∃, R). – (Regola di eliminazione del quantificatore esistenziale, (∃, E)). Se D è una deduzione naturale in cui C è la radice e A è un’assunzione, e la variabile y non è libera in C e in nessuna delle assunzioni di D , allora si costruisce una deduzione naturale D’ la cui radice è C nel modo seguente: ∗ l’albero è ottenuto dall’albero di D facendo diventare la radice prima premessa di un legame a 2 premesse la cui conclusione è un nuovo nodo C e l’altra premessa è un nuovo nodo ∃xA[x/y], e rendendo scaricate tutte le foglie aperte rappresentate da A in D ; ∗ le assunzioni sono tutte le assunzioni di D eccetto A, e ∃xA[x/y] che rappresenta la nuova foglia aperta ∃xA[x/y]. D’ è la deduzione naturale associata alla derivazione ottenuta da D mediante un’applicazione di (∃, L). 38 • CLAUSOLA FINALE: nient’altro è una deduzione naturale intuizionista. Si noti che a diverse derivazioni intuizionistiche può essere associata una stessa deduzione naturale intuizionista. 2.4.2 Redex e regole di riduzione Un redex in una deduzione naturale intuizionista D è costituito da un nodo dell’albero che è conclusione di una regola di introduzione di un operatore logico (connettivo preposizionale o quantificatore) e premessa di una regola di eliminazione dello stesso operatore logico. Una deduzione naturale intuizionista è in forma normale se e soltanto se non contiene redex. In corrispondenza ad ogni redex di una deduzione naturale intuizionista dove A è la formula conclusione di una regola di introduzione di un operatore logico e premessa di una regola di eliminazione dello stesso operatore logico, la deduzione naturale può essere vista come ottenuta mediante la regola del taglio, da due deduzioni naturali (una che termina A e l’altra che ha A fra le assunzioni), e ad essa corrisponde ad una derivazione intuizionista che è premessa di una regola di trasformazione intuizionista . Dunque, ogni redex di una deduzione naturale corrisponde alla premessa di una regola di trasformazione. Ad ogni redex è associata una regola di riduzione che ha come premessa una deduzione naturale intuizionista contenente quel redex e come conclusione una deduzione naturale intuizionista senza quel redex: tale regola corrisponde a una trasformazione che parte dalla derivazione intuizionista corrispondente alla premessa della regola di riduzione e arriva alla derivazione intuizionista corrispondente alla conclusione della regola di riduzione, usando la regola di trasformazione che ha come premessa la derivazione intuizionista corrispondente alla premessa della regola di riduzione nonché eventualmente regole strutturali. Elenchiamo i redex e le corrispondenti regole di riduzione. • Riduzione del redex (∧, I) − (∧, E1): un redex costituito da una regola (∧, I) (con conclusione A ∧ B, e nella quale la prima premessa A è conclusione di una deduzione naturale D1 e la seconda premessa B è conclusione di una deduzione naturale D2 ) e da una una regola (∧, E) (con conclusione A che è assunzione di una deduzione naturale D3 ), si riduce componendo per (cut) la deduzione naturale D1 con la deduzione naturale deduzione D3 . • Riduzione del redex (∧, I) − (∧, E2): un redex costituito da una regola (∧, I) (con conclusione A ∧ B, e nella quale la prima premessa A è conclusione di una deduzione naturale D1 e la seconda premessa B è conclusione di una deduzione naturale D2 ) e da una una regola (∧, E) (con conclusione A che è assunzione di una deduzione naturale D3 ), si riduce componendo per (cut) la deduzione naturale D1 con la deduzione naturale deduzione D2 . • Riduzione del redex (→, I)− (→, E): un redex costituito da una regola (→, I) (con conclusione A → B, e nella quale la premessa B era conclusione di una deduzione naturale D1 con assunzione A) e da una una regola (→, E) (nella quale l’altra premessa è A conclusione di una deduzione naturale D2 , e la conclusione B è assunzione di una deduzione naturale D3 , ), si riduce componendo per (cut) prima la deduzione naturale D2 con la deduzione naturale D1 e poi la deduzione naturale così risultante con la deduzione naturale D3 . • Riduzione del redex (∨, I1)−(∨, E): un redex costituito da una regola (∨, I1) (nella quale la conclusione è A ∨ B e la premessa A è conclusione di una deduzione naturale D1 ) e da una una regola (∨, E) (nella quale la conclusione C è assunzione di una deduzione naturale D4 e le altre due premesse C sono rispettivamente la conclusione di una deduzione naturale D2 con assunzione A e la conclusione di una deduzione naturale D3 con assunzione B) si riduce componendo per (cut) dapprima la deduzione naturale D1 con la deduzione naturale deduzione D2 e poi la deduzione naturale così risultante con la deduzione naturale D4 . 39 • Riduzione del redex (∨, I2)−(∨, E): un redex costituito da una regola (∨, I2) (nella quale la conclusione è A ∨ B e la premessa B è conclusione di una deduzione naturale D1 ) e da una una regola (∨, E) (nella quale la conclusione C è assunzione di una deduzione naturale D4 e le altre due premesse C sono rispettivamente la conclusione di una deduzione naturale D2 con assunzione A e la conclusione di una deduzione naturale D3 con assunzione B) si riduce componendo per (cut) dapprima la deduzione naturale D1 con la deduzione naturale deduzione D2 e poi la deduzione naturale così risultante con la deduzione naturale D4 . • Riduzione del redex (∀, I) − (∀, E): un redex costituito da una regola (∀, I) (con conclusione ∀xA, e nella quale la premessa A[y/x] è conclusione di una deduzione naturale D1 le cui assunzioni non contengono libera la variabile y ) e da una una regola (∀, E) (con conclusione A[t/x] che è assunzione di una deduzione naturale D2 ), si riduce componendo per (cut) la deduzione naturale D1 [t/y] (ottenuta da D1 rimpiazzando ovunque la variabile y con il termine t) con la deduzione naturale deduzione D2 . • Riduzione del redex (∃, I) − (∃, E): un redex costituito da una regola (∃, I) (nella quale la conclusione è ∃xA e la premessa A[t/x] è conclusione di una deduzione naturale D1 ) e da una una regola (∃, E) (nella quale la conclusione C è assunzione di una deduzione naturale D3 e l’altra premessa C è la conclusione di una deduzione naturale D2 con assunzione A[y/x] dove y è una variabile che non occorre libera nelle altre assunzioni e nella conclusione C ) si riduce componendo per (cut) dapprima la deduzione naturale D1 con la deduzione naturale deduzione D2 [t/y] e poi la deduzione naturale così risultante con la deduzione naturale D3 . Oltre a queste regole di riduzione, ci sono anche altre regole di trasformazione che corrispondono alle altre regole di trasformazione delle derivazioni nel calcolo dei seguenti, nonché altre regole che permettono di tener conto della sostanziale aribitarietà della conclusione C delle regole di eliminazione per il connettivo ∨ e del quantiifcatore ∃. Per indicare che una deduzione naturale D si riduce a una deduzione naturale D’ scriviamo D D’ . Una deduzione naturale D è in forma normale quando non contiene alcun redex (e dunque non può essere ridotta ad alcuna deduzione naturale). Una successione di riduzione di una deduzione naturale D è una successione di deduzioni naturali tale che inizia con D e ogni deduzione naturale della successione qualora contenga almeno un redex si riduce mediante un solo passo di riduzione alla successione naturale che la segue nella successione. Una successione di riduzione di una deduzione naturale D termina quindi solo quando si raggiunge una deduzione naturale in forma normale. Al teorema di eliminazione dei tagli nelle derivazioni della logica intuizionista corrisponde il teorema che stabilisce che per ogni deduzione naturale D esiste una deduzione naturale D’ in forma normale tale che D D’ . Tale teorema è chiamato teorema di normalizzazione. Esso può essere riformulato dicendo: per ogni deduzione naturale D esiste una successione naturale di D che termina. Per alcuni sistemi della logica lineare intuizionista vale anche un teorema più forte, detto teorema di normalizzazione forte: per ogni deduzione naturale D ogni successione di riduzione di D termina. In alcuni sistemi della logica lineare intuizionista vale anche la seguente proprietà delle riduzioni, chiamata confluenza: se D D1 e D D2 allora esiste D’ tale che D1 D’ e D2 D’. Se vale la proprietà di confluenza, allora ogni deduzione naturale ha al massimo una forma normale: infatti, se D D1 e D D2 e D1 e D2 sono in forma normale e sono diverse allora dovrebbe esistere una deduzione naturale D’ tale che D1 D’ e D2 D’, ma ciò è impossibile poiché le deduzioni naturali in forma normale non possono ulteriormente ridursi. 40 2.4.3 Regole di inferenza locali e regole di inferenza globali Una regola di inferenza è locale se la correttezza della sua applicazione viene fatta osservando soltanto ciò che è presente nelle sue premesse e nella sua conclusione; una regola che non è locale viene detta regola globale. Nel calcolo dei sequenti - che concerne non solo formule ma in primo luogo sequenti - tutte le regole dininferenza sono locali. Invece, nel calcolo di deduzione naturale per la logica intuizionista - che concerne solo formule - non tutte le regole sono locali. Infatti, non sono locali - e dunque sono globali - le seguenti regole: • la regola (→,I), poiché può essere esterna alla premessa la formula che viene scaricata ossia la formula che non è più assunzione e le cui occorrenze come foglia dell’albero passano da attive a scaricate; • la regola (∨, E), poiché possono essere esterne alle premesse le formule che vengono scaricate ossia le formule che non sono più assunzione e le cui occorrenze come foglie dell’albero passano da attive a scaricate; • la regola (∀, I), poiché non la correttezza della regola dipende da una proprietà (non contenere libera una variabile) delle assunzioni della deduzione naturale; • la regola (∃, E), poiché può essere esterna alla premessa la formula che viene scaricata ossia la formula che non è più assunzione e le cui occorrenze come foglia dell’albero passano da attive a scaricate, e inoltre la correttezza della regola dipende da una proprietà (non contenere libera una variabile) delle assunzioni e della conclusione della deduzione naturale. 2.5 La corrispondenza Curry-Howard La corrispondenza Curry-Howard è la corrispondenza tra le derivazioni della logica intuizionista e i termini di un lambda-calcolo tipato, termini che a loro volto sono programmi. Si tenga presente che in questa corrispondenza si fa uso dell’idea di programma come termine, tipica del lambda calcolo, idea che può essere caratterizzata come segue. • Un’espressione (un termine) viene visto come qualcosa che può contenere variabili e parti da ridurre (redense), e può avere un tipo (che indica la classe degli oggetti che possono essere la denotazione di quel termine) così come le variabili possono avere un tipo (che indica la classe dei termini che possono essere posti come valore di quella variabile). • Un’espressione (un termine) di tipo T con variabili libere di tipo T1 , ..., Tn può essere considerato come un programma che - ricevuti valori per le variabili - produce un oggetto di tipo T ; tale programma può a sua volta essere considerato come un oggetto il cui tipo è quello dei programmi da T1 , ..., Tn a T . • Un’espressione (un termine) di tipo T senza alcuna variabile e senza parti da ridurre può essere considerato come un oggetto di quel tipo A. In particolare, nella corrispondenza Curry-Howard: • le formule della logica intuizionista sono concepite come tipi di oggetti, e pertanto gli operatori logici (connettivi o quantificatori) sono concepiti come operazioni sui tipi; 41 • alle regole di introduzione di una formula ottenuta mediante un operatore logico sono associate regole di formazione degli oggetti del tipo corrispondente a quella formula, e alle regole di eliminazione di una formula sono associate regole di uso degli oggetti del tipo corrispondente a quella formula; • ogni assunzione A in una derivazione corrisponde ad una variabile libera di tipo A, cosicché per ogni tipo A ci deve essere un’infinità potenziale di variabili di quel tipo; • ad ogni derivazione di A1 , ..., An ⊢ A - e ad ogni deduzione naturale di una formula A dalle assunzioni A1 , ..., An - è associato un termine di tipo A che ha variabili libere di tipo A1 , ..., An , ossia un programma dai tipi A1 , ..., An al tipo A; • un cut (un redex) in una derivazione (in una deduzione naturale) viene concepito come una istruzione da eseguire per la riduzione del termine associato alla derivazione (alla deduzione naturale), ossia un’istruzione da eseguire nell’esecuzione del programma associato a quel termine; • ad ogni applicazione di una regola di trasformazione (di una regola di riduzione) viene associata una riduzione del termine associato ossia un passo di esecuzione del programma associato a quel termine , cosicché la trasformazione delle derivazioni (la riduzione delle deduzioni naturali) corrisponde all’esecuzione di un programma; • ad ogni derivazione cut-free (e ad ogni deduzione in forma normale) di una formula A da nessuna premessa è associato un termine chiuso e irriducibile di tipo A ossia un oggetto del tipo di oggetti A; • ad ogni derivazione con cut (con redex) di una formula A da nessuna premessa è associato un termine chiuso di tipo A che può essere ridotto ad un oggetto del tipo di oggetti A. 2.6 Sistemi tipati: il sistema dei tipi semplici, il sistema F Consideriamo qui due sistemi tipati che sono collegati - con la corrispondenza Curry-Howard - con sistemi di logica intuizionista. Il primo è un sistema molto semplice, che serve più che altro per impratichirsi con il tema: il sistema dei tipi semplici. Il secondo è un sistema molto potente, poiché in esso possono essere rappresentati programmi per tutte le funzioni numeriche calcolabili la cui totalità può essere dimostrata entro l’analisi matematica. 2.6.1 Il sistema dei tipi semplici Il sistema dei tipi semplici è il sistema tipato che è collegato - con la corrispondenza Curry-Howard - con il frammento della logica intuizionista proposizionale nel quale gli unici operatori logici sono il connettivo ∧ e il connettivo →. I tipi semplici sono esattamente le formule di quel frammento della logica intuizionista, ossia la classe così definita per induzione: • BASE DI INDUZIONE. Le variabili per tipi X, Y, Z, ... sono tipi semplici. • PASSO DI INDUZIONE. Se A e B sono tipi semplici, allora A ∧ B e A → B sono tipi semplici. • Nient’altro è un tipo semplice. 42 Intuitivamente, il tipo A ∧ B è il tipo delle coppie di oggetti costituite da un oggetto di tipo A e da un oggetto di tipo B, mentre A → B è il tipo dei programmi che hanno come input gli oggetti di tipo A e come output gli oggetti di tipo B. I termini del sistema dei tipi semplici sono espressioni che corrispondono alle deduzioni naturali nel frammento della logica intuizionista con i soli connettivi ∧ e →, e ogni termine ha un tipo che è un tipo semplice. Quando un termine t è di tipo A si scrive: t : A. La definizione di questi termini avviene con la seguente definizione induttiva, nella quale mostriamo anche le deduzioni naturali corrispondenti ai termini. • BASE DELL’INDUZIONE. Per ogni tipo semplice A, c’è un’infinità numerabile di variabili di tipo A e ciascuna variabile x di tipo A è un termine di tipo A. - Ciascuna variabile x di tipo A corrisponde a una deduzione naturale costituita esclusivamente da una assunzione A che è anche conclusione. • PASSO D’INDUZIONE. – Se s e t sono termini e s : A e t : B, allora < s, t > (la coppia di s e t) è un termine e < s, t >: A ∧ B. Se s è un termine e s : A ∧ B allora p1 (s) (la prima proiezione di s ) e p2 (s) (la seconda proiezione di s) sono termini e p1 (s) : A e p2 (s) : B. - Se s : A corrisponde a una deduzione naturale di A e t : B corrisponde a una deduzione naturale di B, allora < s, t >: A ∧ B corrisponde alla deduzione naturale ottenuta da quelle due deduzioni naturali mediante la regola (∧, I). Se s : A ∧ B corrisponde a una deduzione naturale di A ∧ B, allora p1 (s) : A corrisponde alla deduzione naturale costituita di A ottenuta da essa mediante la regola (∧, E1) e p1 (s) : B corrisponde alla deduzione naturale costituita di B ottenuta da essa mediante la regola (∧, E2). – Se s è un termine e x è una variabile libera in s e s : B e x : A, allora λx.s è un termine (ikl programma indotto da s in dipendenza dalla variabile x) e λx.s : A → B . Se s e t sono termini e s : A → B e t : A, allora st è un termine (l’applicazione di s a t) e st : B (l’applicazione di s a t). - Se s : B con la variabile libera x : A corrisponde a una deduzione naturale di B in cui A è assunzione, allora λx.s : A → B corrisponde alla deduzione naturale da essa ottenuta mediante applicazione della regola (→, I). Se s : A → B corrisponde a una deduzione naturale di A → B e t : A corrisponde a una deduzione naturale di A, allora st : B corrisponde alla deduzione naturale che si ottiene da quelle deduzioni naturali mediante la regola (→, E). • CLAUSOLA FINALE. Nient’altro è termine. I redex sono i termini che hanno la seguente forma: • p1 (< s, t >) che è un termine di tipo A quando s : A e t : B • p2 (< s, t >) che è un termine di tipo B quando s : A e t : B • (λx.s)t che è un termine di tipo B quando x : A, s : B e t : A Le regole di riduzione dei redex sono le seguenti (che corrispondono alle regole di riduzione delle deduzioni naturali associate a tali redex): • p1 (< s, t >) s • p2 (< s, t >) t • (λx.s)t s[t/x] Si mostri che: 43 • se x è una variabile di tipo A, il termine λx.x è un termine in forma normale di tipo A → A e corrisponde all’unica derivazione cut-free o alla unica deduzione naturale in forma normale di IDA = A → A. Tale termine corrisponde al programma identità su A, e vale che per ogni termine t : A (λx.x)t t. • se x e y sono due variabili diverse di tipo A, il termine λyλx.x e il termine λxλy.x sono termini in forma normale di tipo A → (A → A) e corrispondono alle uniche due derivazioni cut-free (deduzioni naturali in forma normale) di BOOLEA = A → (A → A); il termine λyλx.x sarà chiamato 0A e il termine λxλy.x sarà chiamato 1A , e vale che: – per ogni termine s : A e per ogni termine t : A (1A )st s, – per ogni termine s : A e per ogni termine t : A (0A )st t, – pertanto, per ogni termine a : BOOLEA , per ogni termine s : A e per ogni termine t : A il termine ast s si comporta come (IF a then s else t , ossia ast s se a = 1A e ast t se a = 0A . Teorema 5. Per il sistema dei tipi semplici valgono le seguenti proprieà: 1. Confluenza della riduzione: se s t1 e s t2 allora esiste un termine t tale che t1 t e t2 t. 2. Normalizzazione forte: per ogni termine s, ogni successione di riduzione di s termina in un numero finito di passi. 3. Esistenza e unicità della forma normale: per ogni termine s, esiste un e un solo termine t in forma normale tale che s t (ogni successione di riduzione di s termina con t). Dimostrazione. 1. Omessa. 2. Per induzione sui tipi, si dimostra che per ogni tipo semplice ogni termine di quel tipo è fortemente normalizzabile (ossia ogni su successione di riduzione termina in un numero finito di passi). 3. Conseguenza delle prime due proprieà. 2.6.2 Il sistema F Il sistema F è il sistema tipato che è collegato - con la corrispondenza Curry-Howard - con il frammento (∧, ∀) della logica intuizionista proposizionale del secondo ordine, il frammento della logica intuizionista proposizionale del secondo ordine nel quale gli unici operatori logici sono il connettivo → e il quantificatore (su variabili per proposizioni) ∀. Si osservi che tale frammento è in realtà equivalente all’intera logica intuizionista proposizionale del secondo ordine, poiché in esso sono definibili anche tutti gli altri operatori logici della logica preposizionale intuizionista del secondo ordine (F ALSO, ∧, ∨ e ∃), nel modo seguente: • F ALSO = ∀X.X • Se A e B sono formule, allora A ∧ B = ∀X((A → (B → X)) → X) e A ∨ B = ∀X((A → X) → ((B → X) → X)) • Se A è una formula, e X e Y sono variabili preposizionali che non occorrono vincolate in A, allora ∃X.A = ∀X(∀Y (A[Y /X] → X) → X) Si verifichi che con queste definizioni le regole sugli operatori logici F ALSO, ∧, ∨ e ∃ divengono regole derivate del frammento (∧, ∀) della logica intuizionista proposizionale del secondo ordine. I tipi di F sono esattamente le formule del frammento (∧, ∀) della logica intuizionista proposizionale del secondo ordine, ossia la classe così definita per induzione: 44 • BASE DI INDUZIONE. Le variabili per tipi X, Y, Z, ... sono tipi di F. • PASSO DI INDUZIONE. – Se A e B sono tipi di F, allora A → B sono tipi di F. – Se A è un tipo di F, e X è una variabile per tipi di F non vincolata in A, allora ∀XA è un tipo di F • Nient’altro è un tipo semplice. Intuitivamente, • A → B è il tipo dei programmi che hanno come input gli oggetti di tipo A e come output gli oggetti di tipo B. • ∀XA è il tipo di particolari programmi che hanno come input e come output i tipi di F. I termini di F sono espressioni che corrispondono alle deduzioni naturali nel frammento (∧, ∀) della logica intuizionista proposizionale del secondo ordine, e ogni termine ha un tipo che è un tipo di F. Quando un termine t è di tipo A si scrive: t : A. La definizione di questi termini avviene con la seguente definizione induttiva, nella quale mostriamo anche le deduzioni naturali corrispondenti ai termini. • BASE DELL’INDUZIONE. Per ogni tipo semplice A, c’è un’infinità numerabile di variabili di tipo A e ciascuna variabile x di tipo A è un termine di tipo A. - Ciascuna variabile x di tipo A corrisponde a una deduzione naturale costituita esclusivamente da una assunzione A che è anche conclusione. • PASSO D’INDUZIONE. – Se s è un termine di F e e s : B, e x è una variabile non vincolata in s e e x : A, allora λx.s è un termine (il programma indotto da s in dipendenza dalla variabile x : A) e λx.s : A → B . Se s e t sono termini di F e s : A → B e t : A, allora st è un termine di F (l’applicazione di s a t) e st : B. - Se s : B con la variabile libera x : A corrisponde a una deduzione naturale di B (nel frammento (∧, ∀) della logica intuizionista proposizionale del secondo ordine), nella quale deduzione A è assunzione, allora λx.s : A → B corrisponde alla deduzione naturale da essa ottenuta mediante applicazione della regola (→, I). Se s : A → B corrisponde a una deduzione naturale di A → B e t : A corrisponde a una deduzione naturale di A (nel frammento (∧, ∀) della logica intuizionista proposizionale del secondo ordine), allora st : B corrisponde alla deduzione naturale che si ottiene da quelle deduzioni naturali mediante la regola (→, E). – Se s è un termine di F e s : A, e X è una variabile proposizionale non vincolata in s e X non è libera nel tipo di una variabile libera in s, allora ΛX.s (il programma indotto da s in dipendenza della variabile proposizionale X) è un termine di F e ΛX.s : ∀X.A. Se s è un termine di F e s : ∀X.A, e B è un tipo di F, allora sB (l’applicazione di s al tipo B) è un termine di F e sB : A[B/X]. - Se s : A corrisponde a una deduzione naturale (nel frammento (∧, ∀) della logica intuizionista proposizionale del secondo ordine) di A e X è una variabile proposizionale non vincolata in s e X non è libera nel tipo di una variabile libera in s, allora la variabile proposizionale X non occorre libera in nessuna delle assunzioni della deduzione corrispondente a s; e pertanto si può applicare la regola (∀, I) e ΛX.s : ∀X.A corrisponde alla deduzione naturale di ∀X.A ottenuta con questa regola dalla deduzione naturale associata a s. Se s : ∀X.A corrisponde a una deduzione naturale di ∀X.A, allora sB : A[B/X] corrisponde alla deduzione naturale costituita di A[B/X] ottenuta da essa mediante la regola (∀, E). • CLAUSOLA FINALE. Nient’altro è termine. 45 I redex di F sono i termini di F che hanno la seguente forma: • (λx.s)t che è un termine di F di tipo B quando x : A, s : B e t : A • (ΛX.s)B che è un termine di F di tipo A[B/X] quando X è una variabile proposizionale, s : A dove X non occorre libera nel tipo di una sua variabile libera, e B è un termine di F. Le regole di riduzione dei redex di F sono le seguenti (che corrispondono alle regole di riduzione delle deduzioni naturali - nel frammento (∧, ∀) della logica intuizionista proposizionale del secondo ordine- associate a tali redex): • (λx.s)t • (ΛX.s)B s[t/x] s[B/X] Si mostri che: • se X è una variabile preposizionale e x è una variabile di tipo X, il termine di F ΛXλx.x è un termine in forma normale di tipo ∀X(X → X) e corrisponde all’unica derivazione cut-free o alla unica deduzione naturale in forma normale di ID = ∀X(X → X). Tale termine di F corrisponde al programma identità, e vale che per ogni tipo B di F (ΛXλx.x)B IDB . • se X è una variabile preposizionale e x e y sono due variabili diverse di tipo X, il termine di F ΛXλyλx.x e il termine di F ΛXλxλy.x sono termini in forma normale di tipo ∀X(X → (X → X) e corrispondono alle uniche due derivazioni cut-free (deduzioni naturali in forma normale) di BOOLE = ∀X(X → (X → X); il termine ΛXλyλx.x sarà chiamato 0 e il termine ΛXλxλy.x sarà chiamato 1, e vale che: – per ogni tipo B di F, 1B 1B e per ogni termine s : B e per ogni termine t : B 1Bst s, – per ogni tipo B di F, 0B 0B e per ogni termine s : B e per ogni termine t : B 0Ast t, – pertanto, per ogni termine a : BOOLE, per ogni tipo B, per ogni termine s : B e per ogni termine t : B il termine aBst s si comporta come (IF aB then s else t , ossia aBst s se a = 1 e aBst t se a = 0. • se X è una variabile preposizionale e x è una variabile di tipo X e y è una variabile di tipo X → X, possiamo definire per ogni n un termine di F n di tipo IN T = ∀X((X → X) → (X → X)) come segue: – 0 è ΛXλyλx.x – 1 è ΛXλyλx.yx – ... – n è ΛXλyλx.y...yx dove y...y è y per n volte – ... Tali termini sono tutti in forma normale, sono i soli termini in forma normale di tipo IN T e corrispondono a diverse derivazioni (deduzioni naturali) della formula IN T : 0 a una derivazione con un uso della regola di indebolimento e senza uso della regola di contrazione, 1 a una derivazione senza regola di indebolimento e di contrazione, 2 a una derivazione senza regola di indebolimento e con un uso della regola di contrazione, ..., n + 1 a una derivazione senza regola di indebolimento e con n usi della regola di contrazione, ... 46 I teoremi seguenti mostrano la forza e l’importanza del sistema F . Il primo teorema stabilisce per il sistema F le proprieà che valgono già per il sistema dei tipi semplici. Teorema 6. Il sistema F ha le seguenti proprieà 1. Confluenza della riduzione: se s t1 e s t2 allora esiste un termine t tale che t1 t e t2 t. 2. Normalizzazione forte: per ogni termine s, ogni successione di riduzione di s termina in un numero finito di passi. 3. Esistenza e unicità della forma normale: per ogni termine s, esiste un e un solo termine t in forma normale tale che s t (ogni successione di riduzione di s termina con t). Dimostrazione. 1. Omessa. 2. La dimostrazione non può avvenire stabilendo - per induzione sui tipi di F - che per ogni tipo ogni suo termine è fortemente normalizzabile: nella formazione dei termini di un tipo si fa riferimento a tutti i tipi. La dimostrazione di questo teorema avviene usando i candidati di riducibilià, nitrodotti da J.-Y. Girard. 3. Conseguenza delle proprieà precedenti. Si osservi che, se t è un termine di F di tipo IN T → IN T , esso rappresenta il programma di una funzione totale ft da N a N così definita: ft (n) = m se soltanto se tn m La funzione ft è ben definita per la unicità della forma normale dei termini di F , ed è totale per l’esistenza della forma normale dei termini di F, ed è calcolabile poiché t è un programma per tale funzione. Una funzione f da N a N è rappresentabile in F se e soltanto se per qualche termine t di F f = ft . In un sistema formale S che estende l’aritmetica del primo ordine è dimostrabile la totalià di una funzione ricorsiva da N a N se e soltanto se in S è derivabile la formula ∀x∃yB(x, y) dove B(x, y) è una formula che esprime f (x) = y. Il secondo teorema mette in relazione il sistema F con l’analisi matematica formalizzata nel sistema denominato PA2 (aritmetica del secondo ordine). Teorema 7. (Relazioni tra sistema F e sistema PA2 ) 1. La normalizzazione del sistema F implica la non-contraddittorietà di PA2 . 2. Il Teorema 6 su F è formalizzabile in PA2 ma non è dimostrabile in PA2 . 3. Le funzioni da N a N rappresentabili nel sistema F sono esattamente le funzioni ricorsive da N a N la cui totalità è dimostrabile in PA2 . Dimostrazione. 1. Si veda il capitolo 15 del volume Proofs and Types. In sostanza, si definisce una traduzione di PA2 in F , nella quale la derivabilità di una contraddizione da PA2 corrisponde all’esistenza di un termine non normalizzabile di F . 2. L’enunciato del Teorema 6 (in particolare, il punto 2) può essere aritmetizzato e formalizzato in PA2 così come il punto precedente di questo teorema; se fosse dimostrabile il Teorema 6 in PA2 sarebbe dimostrabile in PA2 la non-contraddittorietà di PA2 , contro il teorema di incompletezza di Gödel. 3. Si veda il capitolo 15 del volume Proofs and Types. 47 48 Capitolo 3 Logica lineare: dualità, controllo logico della dimostrabilità La logica lineare (avviata nel 1987 da Jean-Yves Girard) si caratterizza per molti aspetti innovativi in confronto con la logica intuizionista e con l’usuale maniera di trattare la logica classica, e per i risultati importanti (in larga parte anche inattesi) che ha permesso di ottenere. Mentre nei successivi capitoli saranno trattati altri aspetti innovativi e altri risultati ottenuti dalla logica lineare, in questo capitolo verranno trattati i seguenti aspetti innovativi della logica lineare e i principali risultati ad essi connessi: • il conseguimento dell’obiettivo di poter distinguere dimostrazioni diverse della stessa proposizione senza mutilare la logica classica ma attraverso un suo approfondimento, e in particolare mantenendo in pieno la dualità che costituisce un’importante caratteristica della logica; • il controllo logico della dimostrabiltà, e in particolare il controllo logico delle regole strutturali della logica classica, e la scoperta che la struttura della dimotrabilità (così controllata) costituisce una interessante struttura matematica. Nel calcolo dei sequenti per la logica lineare, rispetto a quello per la logica classica: • le regole strutturali sono regole che agiscono solo su formule sottolineate, in modo che resti traccia del fatto che non sono state usate le regole strutturali su una formula nel corso di una derivazione; • ogni formula può essere sottolineata, ma le formule sottolineate non possono essere componenti di altre formule; • in ogni applicazione della regola (Cut) che concerne una formula e la sua solo una di queste due formule è sottolineata; • ogni formula sottolineata A può divenire una formula a pieno titolo (ossia una formula che può essere collegata ad altre formule) ?A dove ? è un nuovo connettivo il cui duale è !; • questo trattamento delle regole strutturali impedisce di ottenere la interdervabilità delle regole moltiplicative e delle regole additive per le unità logiche e per i connettivi logici. Si noti che entro un sistema logico ciascuna unità logica, ciascun connettivo e ciascun quantificatore è definito dalle sue regole e dalle regole strutturali di quel sistema logico. Pertanto, 49 • la negazione in logica lineare è differente da quella della logica classica, proprio perché è una negazione che è definita solo dalle regole basilari e non dalle regole strutturali; la negazione in logica lineare (negazione lineare) di una formula A è denotata da A⊥ ; • poiché in logica lineare le regole moltiplicative e quelle additive per le unità logiche e per i connettivi non sono interderivabili, le regole moltiplicative e le regole additive di ciascuna unità logica definiscono due diverse unità logiche che sono unità logiche della logica lineare, e le regole moltiplicative e le regole additive di ciascun connettivo logico definiscono due diversi connettivi logici che sono connettivi logici della logica lineare; in particolare, – le unità logiche definite dalle regole moltiplicative sono chiamate unità moltiplicative, e sono 1 (vero moltiplicativo) e ⊥ (falso moltiplicativo), – i connettivi definiti dalle regole moltiplicative sono chiamati connettivi moltiplicativi, e sono ⊗ (congiunzione moltiplicativa) e `(disgiunzione moltiplicativa), – le unità logiche definite dalle regole additive sono chiamate unità additive, e sono o T (vero additivo) e 0 (falso additivo), – i connettivi definiti dalle regole additive sono chiamati connettivi additivi e sono & (congiunzione additiva) e ⊕(disgiunzione additiva); • i quantificatori in logica lineare sono differenti da quelli in logica classica, poiché sono definiti dalle loro regole e non anche dalle regole strutturali, ma vengono usualmente denotati con gli stessi simboli con i quali vengono denotati i quantificatori della logica classica. Nella tabella seguente sono indicati gli operatori logici lineari: • nella prima colonna in ciascuna riga è indicato l’operatore logico classico dal quale provengono gli operatori logici lineari di quella linea; • nella seconda colonna sono indicati tutti gli operatori logici lineari moltiplicativi (unità logiche moltiplicative e connettivi moltiplicativi): si noti che le due unità logiche moltiplicative sono l’una il duale dell’altra, e che i due connettivi moltiplicativi sono l’uno il duale dell’altro; • nella terza colonna sono elencati gli operatori logici lineari additivi (unità logiche additive e connettivi additivi): si noti che le due unità logiche additive sono l’una il duale dell’altra, e che i due connettivi additivi sono l’uno il duale dell’altro; • nella quarta colonna sono elencati i quantificatori, l’uno duale dell’altro; • nella quinta colonna sono elencati i connettivi esponenziali lineari, l’uno duale dell’altro. Tabella 3.1: Operatori logici lineari VERO FALSO ∧ ∨ ∀ ∃ Moltiplicativi 1 ⊥ ⊗ ` Additivi T 0 & ⊕ Quantificatori Esponenziali ∀ ∃ ? ! 50 Si noti anche che in ciascuna coppia di operatori duali uno è introdotto con una regola reversibile ed è chiamato negativo mentre l’altro è introdotto con una o più regole non reversibili ed è chiamato positivo. Dunque: • sono positivi gli operatori 1, 0, ⊗, ⊕, ∃, !, • sono negativi gli operatori T, ⊥, &, `, ∀, ?. Le formule della logica lineare sono definite nel modo solito. Se A è una formula della logica lineare, con A si indica la formula A sottolineata; se ∆ è un multinsieme finito di formule, con ∆ si indica il multinsieme finito di formule sottlineate costituito sottolineando ciascuna formula di ∆. La negazione lineare A⊥ di ogni formula A della logica lineare è definita come segue: • 1⊥ =⊥, ⊥⊥ = 1, • T ⊥ = 0, 0⊥ = T ; • se P è una variabile per proposizioni, allora P ⊥ = N OT (P ) • se se P è una variabile per predicato n-ario, e t1 , · · · , tn sono termini individuali, allora (P (t1 , · · · , tn ))⊥ = N OT (P )(t1 , · · · , tn ) ; • (A ⊗ B)⊥ = A⊥ ` B ⊥ , (A ` B)⊥ = A⊥ ⊗ B ⊥ , • (A&B)⊥ = A⊥ ⊕ B ⊥ , (A ⊕ B)⊥ = A⊥ &B ⊥ ; • (!A)⊥ =?(A⊥ ), (?A)⊥ =!(A⊥ ) • (∀vA)⊥ = ∃vA⊥ , (∃vA)⊥ = ∀vA⊥ . Il connettivo lineare ⊸ è definito da: A ⊸ B = A⊥ ` B ed è chiamto implicazione lineare. I sequenti della logica lineare sono definiti nel modo solito. Le formule e i sequenti della logica lineare possono essere tradotte in formule e sequenti della logica classica, come segue: • per ogni formula B della logica lineare, B − (traduzione classica di B) è la formula della logica classica ottenuta da B rimuovendo i connettivi esponenziali e rimpiazzando i simboli lineari con i corrispondenti simboli classici. • per ogni successione finita Γ di formule della logica lineare, Γ− (traduzione classica di Γ) è la successione di formule della logica classica ottenuta rimpiazzando ogni formula B con B − . Le formule e i sequenti della logica classica ammettono molte possibili traduzioni in formule e sequenti della logica lineare, come segue: • per ogni formula B della logica classica, si definisce la classe lin(B) delle formule della logica lineare che sono traduzioni lineari di B, ossia le formule ottenute da B rimpiazzando ciascun simbolo logico classico con uno dei corrispondenti simboli logici lineari ed aggiungendo eventualmente connettivi esponenziali. • per ogni successione finita Γ di formule della logica classica, si definisce la classe lin(Γ) delle traduzioni lineari di Γ, ossia le successioni finite di formule classiche ottenute da Γ rimpiazzando ciascuna formula B di Γ con una formula C ∈ lin(Γ). 51 3.1 3.1.1 Calcolo dei sequenti per la logica lineare Riformulazione delle regole strutturali come regole su formule sottolineate Le regole strutturali di indebolimento e di contrazione, nel calcolo dei sequenti per la logica lineare, divengono regole di inferenze e regole di trasformazione che concernono le formule sottolineate. La riformulazione di queste regole porta all’individuazione di una regola strutturale, nascosta in logica classica, la regola di sottolineatura o di abbandono (dereliction) Con queste riformulazioni mostreremo che non potrà essere ricostruita in logica lineare l’argomentazione fatta in 3 che portava alla necessità di considerare uguali in logica classica tutte le derivazioni di una stessa formula. Quindi, la logica lineare ammetterà la possibilità di distinguere tra le derivazioni di una stessa formula. 3.1.1.1 Regole di inferenza Le regole di indebolimento (W), di contrazione (C) e di abbandono (D) in logica lineare si presentano nella forma sequente. ⊢Γ (W ) ⊢ Γ, A ⊢ Γ, A, A (C) ⊢ Γ, A ⊢ Γ, A, (D) ⊢ Γ, A Già per il solo fatto che un sequente ⊢ Γ, A può essere conclusione di ben tre regole ((W),(C).(D)) mostra che nessuna di queste regole è reversibile. Di queste regole presentiamo la versione (derivabile) nella quale si aggiunge una successione finita di formule sottolineate (W+) o si contraggono due successioni finite costituite dalle stesse occorrenze di formule sottolineate (C+) o si sottolineano le formule di una successione finita di formule (D+) ⊢ Γ, ∆, ∆ (C+) ⊢ Γ, ∆ ⊢Γ (W +) ⊢ Γ, ∆ ⊢ Γ, ∆, (D+) ⊢ Γ, ∆ Si noti che quando si ignora la sottolineatura delle formule le regole (W) e (C) divengono le usuali regole della logica classica (W) e (C), mentre (D) diviene una banale regola di ripetizione (dove la premessa è uguale alla conclusione). 3.1.1.2 Regole di trasformazione La regola strutturale di trasformazione associata alla regola di indebolimento, individuata nella logica classica, viene così riformulata in logica lineare: .. .π1 ⊢ Γ ⊢ Γ, A .. .π2 ⊢ A⊥ , ∆ (W ,cut) ⊢ Γ, ∆ .. .π1 ⊢ Γ ⊢ Γ, ∆ Si noti che: • è stato necessario chiedere che ∆ sia una successione finita di formule sottolineate, perché solo così è possibile aggiungerle mediante (D+) come richiesto da questa regola di trasformazione; 52 • la regola (cut) viene applicata ad una formula sottolineata A (perchè conclusione di una regola (W) e alla negazione lineare di A ossia a A⊥ la quale non è sottolineata. È evidente che questa regola di trasformazione trasforma analisi in analisi, mantiene il sequente finale e preserva le derivazioni. Inoltre, se la premessa è quasi cut-free, la conclusione è cut-free. Inoltre, la regola (W,cut) è deterministica, a differenza della regola classica (W,cut), se si esclude che entrambe le premesse della regola (cut) siano conclusioni di (W): e proprio questa condizione viene posta sull’applicazione della regola del taglio in logica lineare. La regola strutturale di trasformazione associata alla regola di contrazione, individuata nella logica classica, viene così riformulata in logica lineare: .. .. .π2 .π1 ⊢ A⊥ , ∆ ⊢ Γ, A, A ⊢ Γ, A ⊢ Γ, ∆ .. .. .π1 .π2 ⊢ Γ, A, A ⊢ ¬A, ∆ ⊢ Γ, ∆, A ⊢ Γ, ∆, ∆ ⊢ Γ, ∆ (C,cut) .. .π2 ⊢ A⊥ , ∆ Si noti che anche qui: • è stato necessario chiedere che ∆ sia una successione finita di formule sottolineate, perché solo così è possibile contrarre due sue occorrenze mediante (D+) come richiesto da questa regola di trasformazione; • la regola (cut) viene applicata ad una formula sottolineata A (perchè conclusione di una regola (W) e alla negazione lineare di A ossia a A⊥ . È evidente che questa regola di trasformazione trasforma analisi in analisi, mantiene il sequente finale e preserva le derivazioni. Alla regola di abbandono (D) è associata la seguente regola di trasformazione che - in logica classica, ossia ignorando le sottolineature - sarebbe la trasformazione di una derivazione in se stessa: .. .π1 ⊢ Γ, A ⊢ Γ, A .. .π2 ⊢ A⊥ , ∆ (D,cut) .. . π1 ⊢ Γ, A ⊢ Γ, ∆ .. .π2 ⊢ A⊥ , ∆ ⊢ Γ, ∆ La terza regola strutturale di trasformazione, imdividuata nella logica classica, permetteva di trasformare un’analisi (una derivazione) che termina con una applicazione di una regola (C) immediatamente preceduta da un’applicazione di una regola (W) con la quale si aggiunge una delle due occorrenze contratte: la trasformazione consisteva nel cancellare queste due regole finali della analisi. Questa regola viene così riformulata nella logica lineare, inserendo anche la regola di abbandono poiché solo con essa si ottengono due occorrenze di una stessa formula che poi vengono contratte: .. .π1 ⊢ Γ, A ⊢ Γ, A, A ⊢ Γ, A, A ⊢ Γ, A (W,C) .. .π1 ⊢ Γ, A ⊢ Γ, A È evidente che anche questa regola di trasformazione trasforma analisi in analisi, mantiene il sequente finale e preserva le derivazioni. 53 3.1.2 Regole basilari Le regole basilari in logica lineare sono quelle della logica classica, se la negazione lineare viene rimpiazzata dalla negazione classica e se vengono tolte le sottolineature delle formule: possono dunque essere viste come raffinamenti delle regole basilari della logica classica. Le regole di inferenza sono la regola 0-aria (id) e due regole binarie, la regola (cut) (nella quale in una delle due premesse c’è una formula A e nell’altra premessa c’è la sua negazione lineare A⊥ ed entrambe non compaiono nella conclusione) e la regola (cut) (nella quale in una delle due premesse c’è una formula sottolineata A e nell’altra premessa c’è la sua negazione lineare A⊥ non sottolineata, ed entrambe non compaiono nella conclusione). (id) ⊢ A ,A ⊢ Γ, A ⊥ ⊢ A⊥ , ∆ (cut) ⊢ Γ, ∆ ⊢ Γ, A ⊢ A⊥ , ∆ (cut) ⊢ Γ, ∆ Le regole di trasformazione è la seguente, nella quale si trasforma una derivazione che termina con una regola (cut) avente come una delle due premesse la conclusione di una regola (id): .. .π ⊢ A⊥ , ∆ (id,cut) ⊢ A⊥ , A ⊢ ¬A, ∆ 3.1.3 .. .π ⊢ A⊥ , ∆ Regole moltiplicative Le regole moltiplicative della logica lineare sono le regole moltiplicative per le unità logiche e i connettivi della logica classica, quando i simboli della logica lineare vengono rimpiazzati dai simboli della logica classica. Le regole moltiplicative di inferenza sono: ⊢Γ (⊥) ⊢ Γ, ⊥ (1) ⊢1 ⊢ Γ, A ⊢ ∆, B (⊗) ⊢ Γ, ∆, A ⊗ B ⊢ Γ, A, B (`) ⊢ Γ, ∆, A ` B Si tenga presnete che sono reversibili le regole (⊥) e (`) mentre non sono reversibili le regole (1) e l (⊗. Le regole moltiplicative di trasformazione sono: .. .π ⊢∆ ⊢1 ⊢ ⊥, ∆ ⊢∆ .. .. .π1 .π2 ⊢ Γ1 , A ⊢ Γ2 , B ⊢ Γ1 , Γ2 , A ⊗ B ⊢ Γ1 , Γ2 , ∆ .. . π3 ⊢ A⊥ , B ⊥ , ∆ ⊢ A⊥ ` B ⊥ , ∆ (1,⊥,cut) (⊗,`,cut) 54 .. .π ⊢∆ .. .π1 ⊢ Γ1 , A .. .. .π2 . π3 ⊢ Γ2 , B ⊢ B ⊥ , A⊥ , ∆ ⊢ A⊥ , Γ2 , ∆ ⊢ Γ1 , Γ2 , ∆ Le regole di inferenza e di trasformazione portano a dire che: • ottenere A ⊗ B significa ottenere sia A che B in due processi separati; • ottenere A ` B significa ottenere sia A che B in uno stesso processo; • usare A ⊗ B (ossia ottenere A⊥ ` B ⊥ ) significa usare sia A che B nello stesso processo; • usare A ` B (ossia ottenere A⊥ ⊗ B ⊥ significa usare sia A che B in due processi separati. 3.1.4 Regole additive Anche le regole moltiplicative della logica lineare sono le regole moltiplicative per le unità logiche e i connettivi della logica classica, quando i simboli della logica lineare vengono rimpiazzati dai simboli della logica classica. Le regole additive di inferenza sono: (T) ⊢ Γ, T ⊢ Γ, A (⊕1) ⊢ Γ, A ⊕ B ⊢ Γ, B (⊕2) ⊢ Γ, A ⊕ B ⊢ Γ, A ⊢ Γ, B (&) ⊢ Γ, A&B Si noti che sono reversibili le regole (T) e (&), mentre non sono reversibili le regole per il connettivo (⊕) e per l’unità logica 0 (cioè l’assenza di regole per tale unità). Le regole additive di trasformazione sono: .. .π1 ⊢ Γ, A ⊢ Γ, A ⊕ B .. .. .π2 .π3 ⊢ A⊥ , ∆ ⊢ ∆, B ⊢ A⊥ &B ⊥ , ∆ ⊢ Γ, ∆ .. .π1 ⊢ Γ, B ⊢ Γ, A ⊕ B .. .. .π2 .π3 ⊢ A⊥ , ∆ ⊢ ∆, B ⊢ A⊥ &B ⊥ , ∆ ⊢ Γ, ∆ (⊕1,&,cut) .. .π1 ⊢ Γ, A .. .π2 ⊢ A⊥ , ∆ ⊢ Γ, ∆ (⊕2,&,cut) .. .π1 ⊢ Γ, B .. .π3 ⊢ B⊥, ∆ ⊢ Γ, ∆ Le regole di inferenza e di trasformazione portano a dire che: • ottenere A&B significa ottenere la disponibilità sia A che di B in uno stesso contesto e la possibilità di sceglierne una sola dei due; • ottenere A ⊕ B significa ottenere uno tra A e B in uno stesso contesto; • usare A&B (ossia ottenere A⊥ ⊕ B ⊥ ) significa compiere la scelta tra A e B in uno stesso processo; • usare A ⊕ B (ossia ottenere A⊥ &B ⊥ ) significa la usabilità sia di A che B in uno stesso contesto e la possibilità di sceglierne una sola delle due. 55 3.1.5 Regole esponenziali Le regole esponenziali sono regole che concernono i due connettivi esponenziali, ? e !. Si tratta di regole che - una volta eliminati i simboli per i connettivi esponenziali e le sottolineature delle formule - fanno passare da un sequente allo stesso sequente (se si tratta di regole di inferenza) e da una derivazione alla stessa derivazione (se si tratta di regole di trasformazione). Possiamo dunque dire che si tratta di regole che costituiscono un raffinamento della logica classica. Le regole di inferenza sono la regola per il connettivo ! e la regola per il connettivo ?: ⊢ Γ, A (!) ⊢ Γ, !A ⊢ Γ, A (?) ⊢ Γ, ?A È facile mostrare che la regola (?) è reversibile: da un sequente ⊢ Γ, ?A e dal sequente ⊢!A⊥ , A si ottiene per (cut) il sequente ⊢ Γ, (A), mentre il sequente ⊢!A⊥ , A si ottiene da (id) ⊢ A⊥ , A applicando prima (D) per sottoneare la formula A e poi la regola (!). Invece, la regola (!) non è reversibile: infatti, il sequente ⊢?A⊥ , !A è dimostrabile (essendo conclusione di (id)) ma il contesto in cui è derivabile !A non è costituito da una formula non sottolineata. La regola per il connettivo ? asserisce che si può passare dalla derivabilità di una formula sottolineata A in un contesto alla derivabilità della formula ?A in quello stesso contesto, mentre la regola per il connettivo ! asserisce che si può passare dalla derivabilità di una formula A non sottolineata in un contesto di formule tutte sottolineate alla derivabilità della formula non sottolineata !A in quello stesso contesto. La motivazione di queste regole sta nella regola di trasformazione che mostreremo qui sotto: derivare ?A⊥ in un contesto significa derivare in quel contesto la formula sottolineata A⊥ ossia una formula sulla quale può aver agito una regola strutturale, derivare !A in un contesto significa derivare A⊥ in quel contesto per poter avere un (cut) con la formula A⊥ e pertanto quel contesto deve essere costituito da formule sottolineate. La regola esponenziale di trasformazione trasforma una derivazione che termina con la regola (cut) che concerne la coppia di formule (!A, ?A⊥ che sono state introdotte dall’ultima regola nella derivazione di ciascuna delle due premesse, in una derivazione che termina con la regola (cut) e che a sua volta può ridursi come indicate nelle regole di riduzione delle regole che concernono le formule sottolineate. La regola è la seguente: .. .π1 ⊢ Γ, A ⊢ Γ, !A .. .π2 ⊢ A⊥ , ∆ ⊢?A⊥ , ∆ ⊢ Γ, ∆ (!,?,cut) .. .π1 ⊢ Γ, A .. .π2 ⊢ A⊥ , ∆ ⊢ Γ, ∆ Le regole di inferenza e di trasformazione portano a dire che: • ottenere !A significa ottenere A in un contesto classico, ossia in un contesto di formule ottenute un numero arbitrario di volte; • ottenere ?A significa ottenere A un numero arbitrario di volte; • usare !A (ossia ottenere ?A⊥ ) significa usare A un numero arbitrario di volte; • usare ?A (ossia ottenere !A⊥ ) significa usare A in un contesto classico. 56 3.1.6 Regole sui quantificatori Le regole sui quantificatori in logica lineare sono le stesse della logica classica, quando i simboli della logica lineare vengono rimpiazzati dai corrispondenti simboli della logica classica. Le regole di inferenza sono (per un tipo T di variabili): ⊢ Γ, A[t/x] (∃)(ttermine di tipo T , x variabile di tipo T ) ⊢ Γ, ∃xA ⊢ Γ, A[y/x] (∀)(y variabile di tipo T non libera in Γ, x variabile di tipo T ) ⊢ Γ, ∀xA Si noti che la regola (∃) non è reversibile mentre la regola (∀) lo è. Le regole di trasformazione sono (per un tipo T di variabili): .. .. .π1 .π2 ⊢ A⊥ [y/x], ∆ ⊢ Γ, A[t/x] ⊢ Γ, ∃xA ∨ B ⊢ ∀xA⊥ , ∆ ⊢ Γ, ∆ 3.1.7 (∃,∀,cut) .. .π1 ⊢ Γ, A[t/x] .. .π2 [t/y] ⊢ A⊥ [t/x], ∆ ⊢ Γ, ∆ Regole di permutazione Le regole di permutazione nel calcolo dei sequenti della logica lineare sono le stesse che nel calcolo dei sequenti della logica classica. 3.1.8 Principali proprietà del calcolo dei sequenti Per il calcolo dei sequenti per la logica lineare valgono le argomentazioni stabilitate nella sezione 1.8, e in particolare vale Il teorema di eliminazione del taglio per il calcolo dei sequenti per la logica lineare del primo ordine. Invece il teorema 3 non vale per il calcolo dei sequenti per la la logica lineare. Più avanti mostreremo come sia possibile assegnare valori alle derivazioni del calcolo dei sequenti per la logica lineare in maniera tale che ci siano formule che hanno derivazioni con valore diverso. Per il momento, giova osservare che l’argimentazione che aveva portato alla dimostrazione del teorema 3 per il calcolo dei sequenti della logica classica non può valere per il calcolo dei sequenti della logica lineare. Infatti, se π1 e π2 sono derivazioni di ⊢ A nel calcolo dei sequenti per la logica lineare e si cerca di costruisce una derivazione π3 come nella dimostrazione del teorema 3, si avrebbe: .. .. .π2 .π1 ⊢ A ⊢ A ⊢ A, B ⊢ B⊥, A ⊢ A, A ⊢A che non sarebbe corretta perchè conterrebbe una regola (cut) concernente due formule sottolineate e una contrazione tra due formule non sottolineate; se si decide di sottolineare le due occorrenze di A, si avrebbe 57 .. .. .π2 .π1 ⊢ A ⊢ A ⊢ A, B ⊢ B⊥, A ⊢ A, A ⊢A la quale sarebbe ancora scorretta perchè la regola (cut) concerne due formule sottolineate e - anche se si accettasse un tale (cut) - la derivazione sarebbe non del sequente ⊢ A ma del sequente ⊢ A. In generale, il rapporto tra logica lineare e logica classica è dato dai seguenti teoremi. Teorema 8. Traduzione dalla logica lineare alla logica classica Si definisca per ogni derivazione π nel calcolo dei sequenti per la logica lineare l’albero π − ottenuto da π rimpiazzando ogni formula B con la sua traduzione classica B − e eliminando ogni sottolineatura di formula. Se π è una derivazione di ⊢ Γ in logica lineare, allora π − è una derivazione di ⊢ Γ− in logica classica. Dimostrazione. Per induzione sulla lunghezza della derivazione π. Teorema 9. Traduzione dalla logica classica alla logica lineare Se A è una formula derivabile in logica classica, allora esiste una formula C ∈ lin(A) tale che C è derivabile in logica lineare. Dimostrazione. ... Omessa 3.1.9 Alcune leggi della logica lineare 1 è l’elemento neutro della congiunzione moltiplicativa ⊗ e ⊥ è l’elemento neutro della disgiunzione moltiplicative `: è quanto viene espresso dai due sequenti derivabili della logica lineare (la loro derivazione è lasciata per esercizio): ⊢ A ⊗ 1, A⊥ ⊢ A⊥ ` ⊥, A ossia A ⊢ A⊗1 A⊗1⊢A A⊥ ` ⊥⊢ A⊥ A⊥ ⊢ A⊥ ` ⊥ La congiunzione moltiplicativa ⊗ e la disgiunzione moltiplicativa ` sono commutative: è quanto viene espresso dal sequente derivabile della logica lineare (la sua derivazione è lasciata per esercizio): ⊢ A ⊗ B, B ⊥ ` A⊥ ossia B⊗A⊢A⊗B B ⊥ ` A⊥ ⊢ B ⊥ ` A⊥ La congiunzione moltiplicativa ⊗ e la disgiunzione moltiplicativa ` sono associative: è quanto viene espresso dai due sequenti derivabili della logica lineare (la loro derivazione è lasciata per esercizio): ⊢ A ⊗ (B ⊗ C), (A⊥ ` B ⊥ ) ` C ⊥ ⊢ (A ⊗ B) ⊗ C, A⊥ ` (B ⊥ ` C ⊥ ) 58 ossia (A ⊗ B) ⊗ C ⊢ A ⊗ (B ⊗ C) A ⊗ (B ⊗ C) ⊢ (A ⊗ B) ⊗ C A⊥ ` (B ⊥ ` C ⊥ ) ⊢ (A⊥ ` B ⊥ ) ` C ⊥ (A⊥ ` B ⊥ ) ` C ⊥ ⊢ A⊥ ` (B ⊥ ` C ⊥ ) T è l’elemento neutro della congiunzione additiva & e 0 è l’elemento neutro della disgiunzione additiva ⊕: è quanto viene espresso dai due sequenti derivabili della logica lineare (la loro derivazione è lasciata per esercizio): ⊢ A&T, A⊥ ⊢ A⊥ ⊕ 0, A La congiunzione additiva & e la disgiunzione additiva ⊕ sono commutative: è quanto viene espresso dal sequente derivabile della logica lineare (la sua derivazione è lasciata per esercizio): ⊢ A&B, A⊥ ⊕ B ⊥ La congiunzione aditiva ⊗ e la disgiunzione additiva ⊕ sono associative: è quanto viene espresso dai due sequenti derivabili della logica lineare (la loro derivazione è lasciata per esercizio): ⊢ A&(B&C), (A⊥ ⊕ B ⊥ ) ⊕ C ⊥ ⊢ (A$B)&C, A⊥ ⊕ (B ⊥ ⊕ C ⊥ ) I connettivi moltiplicativi sono delle moltiplicazioni e i connettvi additvi sono delle addizioni, poiché la congiunzione moltiplicativa ⊗ distribuisce sulla disgiunzione additiva ⊕, e la disgiunzione moltiplicativa & distribuisce sulla congiunzione additiva &: è quanto viene espresso dai due sequenti derivabili della logica lineare (la loro derivazione è lasciata per esercizio): ⊢ (A ⊗ B) ⊕ (A ⊗ C), (A⊥ ` (B ⊥ )&C ⊥ ) ⊢ (A⊥ ` B ⊥ )&(A⊥ ` C ⊥ ), A ⊗ (B ⊕ C) I connettivi esponenziali sono delle esponenziazioni, poiché l’esponenziale ! di una congiunzione additiva & è la congiunzione moltiplicativa ⊗ degli esponenziali, e l’esponenziale ? di una disgiunzione additiva ⊕ è la disgiunzione moltiplicativa degli esponenziali: è quanto viene espresso dai due sequenti derivabili della logica lineare (la loro derivazione è lasciata per esercizio): ⊢ (!A⊗!B), ?(A⊥ ⊕ B ⊥ ) ⊢!(A&B), ?A⊥ `?B ⊥ Conveniamo di chiamare una formula A vera quando ⊢ A è derivabile, e falsa quando ⊢ A[ ⊥] ossia A ⊢ è derivabile. Conveniamo di dire che una formula A è minore di una formula B (e B è maggiore di A) quando ⊢ A⊥ , B ossia A ⊢ B è derivabile. Allora: • 1 è il più piccolo vero, poiché è derivabile il sequente ⊢ 1 per la regola (1) e , quando è derivabile ⊢ A, è anche derivabile il sequente 1 ⊢ A per la regola (⊥); • T è il più grande vero, poiché è derivabile il sequente ⊢ T per la regola (T ) e per ogni formula A è derivabile il sequente A ⊢ T per la stessa regola (T ); • 0 è il più piccolo falso, poiché è derivabile il sequente 0 ⊢ per la regola (T ) e per ogni formula A è derivabile il sequente 0 ⊢ A per la stessa regola (T ); • ⊥ è il più grande falso, poiché è derivabile il sequente ⊥⊢ per la regola (1) e , quando è derivabile A ⊢, è anche derivabile il sequente A ⊢⊥ per la regola (⊥). 59 3.1.10 Frammenti della logica lineare, e loro complessità LL è la sigla usata per indicare la logioca lineare: e di solito, alcune sigle denotano importanti frammenti della logica lineare: • MLL denota il frammento proposizionale moltiplicativo della logica lineare, costituito dalle regole basilari e dalle regole per i connettivi moltiplicativi ⊗ e ` (e dunque le formule sono ottenute mediante questi soli connettivi a partire da formule atomiche non logiche e dalle loro negazioni lineari); si chiama MLL con unità logiche il frammento ottenuto da MLL aggiungendo le unità logiche moltiplicative 1 e ⊥; • MALL denota il frammento proposizionale moltiplicativo-additivo della logica lineare, costituito dalle regole basilari, dalle regole per i connettivi moltiplicativi ⊗ e ` e dalle regole per i connettivi additivi & e ⊕ (e dunque le formule sono ottenute mediante questi soli connettivi a partire da formule atomiche non logiche e dalle loro negazioni lineari); si chiama MALL con unità logiche il frammento ottenuto da MALL aggiungendo le unità logiche moltiplicative 1 e ⊥ e le unità logiche additive T e 0; • MELL denota il frammento proposizionale moltiplicativo-esponenziale della logica lineare, costituito dalle regole basilari, dalle regole per i connettivi moltiplicativi ⊗ e `, dalle regole sulle formule sottolineate e dalle regole per gli esponenziali ! e ? (e dunque le formule sono ottenute mediante questi soli connettivi a partire da formule atomiche non logiche e dalle loro negazioni lineari); si chiama MELL con unità logiche il frammento ottenuto da MELL aggiungendo le unità logiche moltiplicative 1 e ⊥; • MAELL denota il frammento proposizionale moltiplicativo-additivo-esponenziale della logica lineare, costituito dalle regole basilari, dalle regole per i connettivi moltiplicativi ⊗ e `, dalle regole per i connettivi additivi & e ⊕, dalle regole sulle formule sottolineate e dalle regole per gli esponenziali ! e ? (e dunque le formule sono ottenute mediante questi connettivi a partire da formule atomiche non logiche e dalle loro negazioni lineari); si chiama MAELL con unità logiche il frammento ottenuto da MELL aggiungendo le unità logiche moltiplicative 1 e ⊥ e le unità logiche additive T e 0; • LL al primo ordine denota la logica lineare con la quantificazione solo al primo ordine, ossia tutto il sistema sopra esposto con le regole sui quantificatori limitate alla quantificazione su variabili per il tipo degli individui. Con la lettera I davanti a quelle sigle si denota la versione intuizionista di ciascuno di tali frammenti, ossia una versione ottenuta in maniera analoga a come abbiamo ottenuto la logica intuizionista a partire dalla logica classica. Riportiamo alcuni importanti risultati sulla complessità di tali frammenti, ossia la comp’lessità della nozione essere formula derivabile in tali frammenti: • MLL è NP-completo; • MALL è PSPACE-completo; • MAELL è indecidibile. Si noti che la logica proposizionale classica è decidibile: e dunque il suo raffinamento ottenuto con il frammento MAELL diventa indecibile in forza della introduzione degli esponenziali. Ebbene, gli esponenziali costituiscono in logica lineare qualcosa di analogo ai quantificatori in logica classica: contengono un riferimento all’infinito (!A indica una risorsa che può essere usata un numero finito arbitrario di volte, ?A indica una risora che è stata ottenuta un numero finito arbitrario di volte). 60 3.2 La struttura della dimostrabilità Si consideri per ogni formula A l’insieme dei contesti - ossia dei multinsiemi finiti di formule - entro cui essa è derivabile nel calcolo dei sequenti, che denoteremo con prLL (A) = {Γ : ⊢ Γ, A derivabile nel calcolo dei sequenti per la logica lineare}. Gli elementi di prLL (A) indicano ciò che serve dimostrare per dimostrare A: se Γ ∈ prLL (A) allora per dimostrare la formula A (ossia per derivare il sequente ⊢ A) serve avere una dimostrazione di B ⊥ (ossia una derivazione di ⊢ B ⊥ per ogni B che compare nel multinsieme Γ. Si consideri l’insieme dei multinsiemi finiti di formule che sono derivabili nel calcolo dei sequenti, che denoteremo con prLL = {Γ : ⊢ Γ derivabile nel calcolo dei sequenti per la logica lineare}. Lo studio dell’insieme prLL e degli insiemi prLL (A) (per tutte le formule A del linguaggio) costituisce lo studio della struttura della dimostrabilità nella logica lineare. Mostreremo - limitandoci alla logica lineare proposizionale MAELL (cioè non considrando le regole sui quantificatori) che questi insiemi sono i fatti di uno spazio delle fasi indotto dal calcolo dei sequenti per LL, e mostreremo così che la struttura della dimostrabilità nel calcolo dei sequenti per LL è un’interessante struttura matematica. 3.2.1 Gli spazi delle fasi Uno spazio delle fasi è costituito da: • un monoide commutativo hM, ·, ii, dove M è un insieme non vuoto, · è un’operazione binaria da M a M commutativa e associativa, e i è l’elemento neutro dell’operazione ·, • un sottoinsieme ⊥ di M . Si noti che i piéù semplici monoidi commutativi sono quelli della forma h{i}, ·, ii dove i · i = i, e i più semplici spazi delle fasi sono quelli della forma hh{i}, ·, ii, ∅i o hh{i}, ·, ii, {i}i dove i · i = i. Se hM, ·, ii è un monoide commutativo, allora: • sull’insieme ℘(M ) (la potenza, l’insieme delle parti di M ) si possono definire le seguenti operazioni binarie: – la composizione, per ogni F ⊆ M e per ogni G ⊆ M , F · G = {x · y : x ∈ F ∧ y ∈ G} – l’implicazione, per ogni F ⊆ M e per ogni G ⊆ M , F ⊸ G = {x : ∀y ∈ F x · y ∈ G} • h℘(M ), ·, {i}i è un monoide commutativo È facile mostrare che se hM, ·, ii è un monoide commutativo e F ⊆ M e G ⊆ M , allora F · F ⊸ G ⊆ G. Si noti che, considerando un monoide commutativo h{i}, ·, ii, si passa a un monoide commutativo h{∅, {i}}, ·, {i}i dove: F · G = F ∩ G , F ⊸ G = ∅ se F = {i} e G = ∅, F ⊸ G = {i} altrimenti. Se hhM, ·, ii, ⊥i è uno spazio delle fasi, allora si può definire su ℘(M ) l’operazione ()⊥ (ortogonale): 61 per ogni F ⊆ M , F ⊥ = F ⊸⊥ È facile mostrare che, se hhM, ·, ii, ⊥i è uno spazio delle fasi, allora per ogni F ⊆ M e per ogni G ⊆ M se F ⊆ G allora G⊥ ⊆ F ⊥ F · F ⊥ ⊆⊥ F ⊆ F ⊥⊥ F ⊥ = F ⊥⊥ F è un fatto di uno spazio delle fasi hhM, ·, ii, ⊥i se e soltanto se è un sottoinsieme di M uguale al suo bi-ortoginale: F ⊆ M ∧ F = F ⊥⊥ È facile mostrare che, se hhM, ·, ii, ⊥i è uno spazio delle fasi, allora: • F è un fafto sse F ⊆ M e per qualche G ⊆ M, F = G⊥ • per ogni F ⊆ M , F ⊥⊥ è il più piccolo fatto che include F Si noti che in particolare, se hhM, ·, ii, ⊥i è uno spazio delle fasi: • per ogni F ⊆ M F ⊥ è un fatto • F ⊥⊥ è ottenuto da F aggiungendo tutti gli x che hanno la seguente proprietà che è posseduta dagli elementi di F : per ogni y ∈ F ⊥ x · y ∈⊥. Un fatto F di uno spazio delle fasi hhM, ·, ii, ⊥i • è detto valido se e soltanto se i ∈ F • è detto antivalido se e soltanto se per qualche fatto valido G F = G⊥ Se hhM, ·, ii, ⊥i è uno spazio delle fasi, allora IM = {x : xẋ = x ∧ x ∈ {i}⊥⊥}. Si dimostra quanto segue, per ogni spazio delle fasi hhM, ·, ii, ⊥i: • 1 = {i}⊥⊥ è un fatto, ed è il più piccolo fatto valido. • ⊥= {i}⊥ e quindi ⊥ è un fatto, ed è il più grande fatto antivalido. • M = ∅⊥ e quindi M è un fatto ed è il più grande fatto e il più grande fatto valido. • 0 = ∅⊥⊥ è un fatto, ed è il più piccolo fatto e il più piccolo fatto antivalido. • I fatti sono chiusi sotto le operazioni di implicazione e di intersezione: se F e G sono fatti, allora – F ⊸ G = (F · G⊥ )⊥ ed è quindi un fatto, – F ∩ G = (F ⊥ ∪ G⊥ )⊥ ed è quindi un fatto. 62 • I fatti, in generale, non sono chiusi sotto le operazioni di composizione e di unione ma sono chiusi sotto il bi-ortogonale della composizione (⊗) e sotto il biortogonale dell’unione (⊕): se F e G sono fatti, allora – F ⊗ G = (F · G)⊥⊥ ed è quindi un fatto, – F ⊕ G = (F ∪ G)⊥⊥ ed è quindi un fatto. • I fatti sono chiusi sotto l’operazione ? così definita : se F è un fatto , allora ?F = (F ⊥ ∩ IM )⊥ è un fatto. • I fatti, in generale, non sono chiusi sotto l’operazione di intersezione con IM ma sono chiusi sotto il biortogonale di tale intersezione (!): se F è un fatto, allora !F = (F ∩ IM )⊥⊥ è un fatto. In ogni spazio delle fasi hhM, ·, ii, ⊥i si può definire l’operazione binaria ` nel modo seguente: per ogni F e per ogni G, F ` G = F ⊥ ⊸ G. Tale operazione preserva i fatti. 3.2.2 Lo spazio delle fasi indotto dal calcolo dei sequenti Il calcolo dei sequenti per il frammento proposizionale MAELL della logica lineare (ma anche quello per la logica classica proposizionale) induce in maniera naturale uno spazio delle fasi hhMLL , ·, iLL i, ⊥LL i dove: • MLL è l’insieme dei multinsiemi finiti di formule del linguaggio della logica lineare; • · è l’operazione binaria da MLL a MLL , con la quale da due multinsiemi finiti di formule Γ e ∆ si ottiene il multinsieme Γ, ∆, ed è dunque un’operazione commutativa e associativa; • iLL è il multinsieme vuoto, e dunque vale che Γ · iLL = Γ = iLL · Γ • ⊥LL è l’insieme prLL (l’insieme dei multinsiemi finiti Γ tali che ⊢ Γ è derivabile nel calcolo dei sequenti). Si noti che i multisiemi finitio di formule sottolineate sono idempotenti el monoide langle MLL , ·, iLL i: infatti, Γ, Γ = Γ. In riferimento a questo spazio delle fasi„ denotiamo con 1LL il fatto {iLL }⊥⊥ , con 0LL il fatto ∅⊥⊥ e con ILL l’insieme degli idempotenti del monoide che appartengono a 1LL . I tre teoremi seguenti mostrano che questo spazio delle fasi costituisce la struttura della dimostrabilità della logica lineare: per ogni formula A l’insieme prLL (A) è un fatto ed è ottenuto mediante operazioni di quello spazio delle fasi a partire dagli insiemi prLL (B) prendendo per B le sottoformule immediate di A. Teorema 10. Le regole basilari del calcolo dei sequenti stabiliscono che per ogni formula A: 1. (prLL (A))⊥ ⊆ prLL (A⊥ ) (regola (id)) 2. prLL (A⊥ ) ⊆ (prLL (A))⊥ (regola (cut)) 3. prLL (A⊥ ) = (prLL (A))⊥ 4. prLL (A) è un fatto dello spazio delle fasi indotto dal calcolo dei sequenti. Dimostrazione. 1. Poiché ⊢ A⊥ , A è conclusione di (id), si ha che A⊥ ∈ prLL (A): perciò, se Γ ∈ ⊥ (prLL (A)) , allora ⊢ Γ, A⊥ è derivabile e quindi Γ ∈ prLL (A⊥ ). 63 2. Per la regola (cut), se Γ ∈ prLL (A) e ∆ ∈ prLL (A⊥ ) allora Γ, ∆ ∈ prLL : ciò può essere riformulato dicendo che prLL (A⊥ ) ⊆ (prLL (A))⊥ . 3. Dai due precedenti risultati. 4. Per quanto sopra mostrato, prLL (A)⊥⊥ = prLL (A⊥⊥ ) = prLL (A) Teorema 11. Le regole moltiplicative del calcolo dei sequenti stabiliscono che: 1. prLL (1) = 1LL 2. prLL (⊥) =⊥LL 3. per ogni formula A e per ogni formula B, prLL (A ⊗ B) = prLL (A) ⊗ prLL (B) 4. per ogni formula A e per ogni formula B, prLL (A ` B) = prLL (A) ` prLL (B) Dimostrazione. 1. 1LL ⊆ prLL (1) è dato dalla regola (1) che stabilisce che iLL ∈ prLL (1), e dunque {iLL } ⊆ prLL (1) da cui 1LL ⊆ (prLL (1))⊥⊥ ossia (poichè prLL (1) è un fatto) 1LL ⊆ prLL (1). prLL (1) ⊆ 1LL è dato dalla regola (⊥) e dalla regola (cut): se ΓinprLL (1) e ∆ ∈ {iLL }⊥ =⊥Λ allora ⊢ Γ, 1 e ⊢ ∆ sono derivabili e dunque per (⊥) è derivabile ⊢ ∆, ⊥ e così per (cut)= è derivabile ⊢ Γ, ∆ ossia Γ, ∆ ∈⊥LL . 2. La regola (⊥) stabilisce che ⊥LL ⊆ prLL (⊥), e la reversibilità di tale regola stabilisce che prLL (⊥) ⊆⊥LL . 3. La regola (⊗) permette di ottenere che prLL (A) ⊗ prLL (B) ⊆ prLL (A ⊗ B): infatti, la regola (⊗) stabilisce che prLL (A) · prLL (B) ⊆ prLL (A ⊗ B), e da ciò segue che prLL (A) ⊗ prLL (B) ⊆ (prLL (A ⊗ B))⊥⊥ ossia (poichè prLL (A⊗B) è un fatto) prLL (A)⊗prLL (B) ⊆ prLL (A⊗B). - Le regole (`) e (cut) permettono di ottenere prLL (A ⊗ B) ⊆ prLL (A) ⊗ prLL (B). Infatti, supponiamo che Γ ∈ prLL (A ⊗ B) (cioè che ⊢ Γ, A ⊗ B è derivabile) e che ∆ ∈ (pr(A) · pr(B))⊥ : allora è anche derivabile ⊢ ∆, A⊥ , B ⊥ e dunque per la regola (`) il sequente ⊢ ∆, A⊥ ` B ⊥ , e infine per la regola (cut) il sequente ⊢ Γ, ∆ ossia Γ, ∆ ∈⊥LL . 4. La regola (`) stabilisce che prLL (A)`prLL (B) ⊆ prLL (A`B), e la reversibilità di tale regola stabilisce che prLL (A ` B) ⊆ prLL (A) ` prLL (B). Teorema 12. Le regole additive del calcolo dei sequenti stabiliscono che: 1. prLL (0) = 0LL 2. prLL (T ) = MLL 3. per ogni formula A e per ogni formula B, prLL (A ⊕ B) = prLL (A) ⊕ prLL (B) 4. per ogni formula A e per ogni formula B, prLL (A&B) = prLL (A) ∩ prLL (B) Dimostrazione. 1. 0LL ⊆ prLL (0) è dato dalla banale affermazione che ∅ ⊆ prLL (0) da cui 0LL ⊆ (prLL (0))⊥⊥ ossia (poichè prLL (0) è un fatto) 0LL ⊆ prLL (0). prLL (0) ⊆ 0LL è dato dalla regola (T ) e dalla regola (cut): se ΓinprLL (0) e ∆ ∈ ∅⊥ = MΛ allora ⊢ Γ, 0 è derivabile e per (T ) è derivabile ⊢ ∆, T e così per (cut)= è derivabile ⊢ Γ, ∆ ossia Γ, ∆ ∈⊥LL . 2. La regola (T ) stabilisce che MLL ⊆ prLL (T ), ed è banale che prLL (T ) ⊆ MLL . 64 3. Le regole (⊕1) e (⊕2 permettono di ottenere che prLL (A) ⊕ prLL (B) ⊆ prLL (A ⊗ B): infatti, le regole (⊕1) e (⊕2 stabiliscono che prLL (A)∪prLL (B) ⊆ prLL (A⊕B), e da ciò segue che prLL (A)⊕prLL (B) ⊆ (prLL (A ⊕ B))⊥⊥ ossia (poichè prLL (A ⊕ B) è un fatto) prLL (A) ⊕ prLL (B) ⊆ prLL (A ⊕ B). - Le regole (&) e (cut) permettono di ottenere prLL (A ⊕ B) ⊆ prLL (A) ⊕ prLL (B). Infatti, supponiamo che Γ ∈ prLL (A ⊕ B) (cioè che ⊢ Γ, A ⊕ B è derivabile) e che ∆ ∈ (pr(A) ∪ pr(B))⊥ : allora sono anche derivabili ⊢ ∆, A⊥ e ⊢ ∆, B ⊥ e dunque per la regola (&) il sequente ⊢ ∆, A⊥ &B ⊥ , e infine per la regola (cut) il sequente ⊢ Γ, ∆ ossia Γ, ∆ ∈⊥LL . 4. La regola (&) stabilisce che prLL (A) ∩ prLL (B) ⊆ prLL (A&B), e la reversibilità di tale regola stabilisce che prLL (A&B) ⊆ prLL (A) ∩ prLL (B). Teorema 13. Le regole sulle formule esponenziali e le regole esponenziali del calcolo dei sequenti stabiliscono che per ogni formula A: 1. ILL = {Γ : Γ ∈ MLL } 2. per ogni formula A, prLL (!A) =!prLL (A) 3. per ogni formula A, prLL (?A) =?prLL (A) Dimostrazione. 1. Gli unici multinsiemi di formule ∆ tali che si possa dire ∆, ∆ = ∆ sono i multinsiemi finiti di formule sottolineate, in forza della regola di contrazione delle formule sottolineate; e ciacun multinsieme finito ∆ di formule sottolineate - in forza della regola di indebolimento per le formule sottolineate - è tale che ⊢ ∆, 1 è derivabile, ossia ∆ ∈ prLL (1). Con un’opportuno cambiamento nelle definizioni relative ai contesti dei sequenti, si ha da questi risultati la dimostrazione che ILL = {Γ : Γ ∈ MLL }. 2. La regola (! permette di ottenere che !prLL (A) ⊆ prLL (!A): infatti, la regola (!) stabilisce che prLL (A)∩ ILL ⊆ prLL (!A), e da ciò segue che !prLL (A) ⊆ (prLL (!A))⊥⊥ ossia (poichè prLL (!A) è un fatto) !prLL (A) ⊆ prLL (!A). - Le regole (?) e (cut) permettono di ottenere prLL (!A) ⊆!prLL (A). Infatti, supponiamo che Γ ∈ prLL (!A) (cioè che ⊢ Γ, !A è derivabile) e che ∆ ∈ (pr(A) ∩ ILL )⊥ : allora è anche derivabile ⊢ ∆, A⊥ e dunque per la regola (?) il sequente ⊢ ∆, ?A⊥ , e infine per la regola (cut) il sequente ⊢ Γ, ∆ ossia Γ, ∆ ∈⊥LL . 3. La regola (?) stabilisce che ?prLL (A) ⊆ prLL (?A), e la reversibilità di tale regola stabilisce che prLL (?A) ⊆?prLL (A). Si noti come nella dimostrazione dei tre teoremi precedenti: • per gli operatori logici la cui regola è reversibile, si fa uso di questa sola regola e della sua reversibilità; e l’insieme dei contesti in cui una formula ottenuta con un tale operatore è derivabile si definisce (a partire dagli insiemi corispondenti alle sue sottoformule) senza ricorrere al bi-ortogonale; • per gli operatori logici che hanno regole non reversibili, si fa uso di queste regole e della regola dell’operatore logico duale; e l’insieme dei contesti in cui la formula ottenuta con un tale operatore è derivabile si definisce (a partire dagli insiemi corispondenti alle sue sottoformule) usando il bi-ortogonale. 65 3.2.3 La semantica delle fasi I teoremi che stabiliscono come lo spazio delle fasi indotto dal calcolo dei sequenti sia la struttura della dimostrabilità nel calcolo dei sequenti per la logica lineare proposizionale MAELL possono essere usati per ottenere un risultato di completezza fra la nozione di derivabilità nella logica lineare proposizionale MAELL e una nozione di valididtà negli spazi delle fasi. Innanzitutto, fissato uno spazio delle fasi S, si definisce la nozione di interpretazione delle formule della logica lineare proposizionale MAELL sui fatti di S: essa è data da una funzione f che assegna un fatto di S a ogni formula atomica non logica, in modo tale che f (A⊥ ) = f (A)⊥ per ogni formula atomica A non logica, e si estende a tutte le formule di MAELL nel modo seguente: • (1) è il fatto 1 di S, f (⊥) è il fatto ⊥ di S, f (T ) è il fatto M costituito dagli elementi del monoide di S, f (0) è il fatto 0 di S • f (A ⊗ B) = f (A) ⊗ f (B), f (A ` B) = f (A) ` f (B), f (A&B) = f (A) ∩ f (B), f (A ⊕ B) = f (A) ⊕ f (B), dove nella parte destra di ciascuna di queste uguaglianze si fa riferimento a operazioni dello spazio delle fasi ; • f (!A) =!f (A) , f (?A) =?f (A), dove nella parte destra di ciascuna di queste uguaglianze si fa riferimento a operazioni dello spazio delle fasi. Una formula A di MAELL è detta valida nella interpretazione f su uno spazio delle fasi S se e soltanto se f (A) è un fatto valido di S, ossia sse l’elemento neutro del monoide di S appartiene a f (A). Una formula A è detta valida in uno spazio delle fasi S se e soltanto se A è valida in ogni interpretazione su S. Teorema 14. Un sequente ⊢ A di MAELL è derivabile nella logica lineare proposizionale MAELL se e soltanto se la formula A è valida in ogni spazio delle fasi. Dimostrazione. • Mostriamo che, se una formula A di MAELL è valida in ogni spazio delle fasi, allora ⊢ A è derivabile nel calcolo dei sequenti della logica lineare proposizionale MAELL. Si consideri l’interpretazione f delle formule di MAELL sullo spazio delle fasi indotto dal calcolo dei sequenti, che assegna ad ogni formula atomica non logica B il fatto prLL (B): allora, per i teoremi del paragrafo precedente, si mostra facilmente che per ogni formula C di MAELL f (C) = prLL (C). Se una formula A di MAELL è valida in ogni spazio delle fasi, allora A è valida anche in questa interpretazione f sullo spazio delle fasi indotto dal calcolo dei sequenti; e dunque f (A) = prLL contiene l’elememto neutro di quel monoide, ossia contiene il multinsieme vuoto, e pertantoa ⊢ A è derivabile. • Per mostrare che, se una formula A di MAELL è derivabile nel calcolo dei sequenti per la logica lineare proposizionale MAELL, allora A è valida in ogni spazio delle fasi, si verifica per induzione che - per ogni spazio delle fasi S - se Γ è derivabile in MAELL allora la formula B ottenuta mediante la disgiunzione moltiplicative ` di tutte le formule di Γ è valida in ogni interpretazione su S. Si noti che per la logica classica vale il teorema : Teorema 15. Un sequente ⊢ A è derivabile nella logica classica proposizionale se e soltanto se la formula A è valida in ogni spazio delle fasi in cui il monoide è un singoletto i e ⊥= ∅ (e nel quale dunque i fatti sono solo due, ∅ e i). 66 Capitolo 4 Logica lineare: positivo e negativo 4.1 Operatori logici negativi e operatori logici positivi Per operatore logico intendiamo una unità logica (moltiplicativa o additiva) o un connettivo (moltiplicativo, additivo o esponenziale) o un quantificatore. Chiamiamo negativi gli operatori logici che sono definiti da una regola reversibile, e chiamiamo positivi gli operatori logici che sono definiti con nessuna, una o più regole non reversibili. Diciamo che due operatori logici hanno la stessa polarità quando sono entrambi positivi o entrambi negativi, e hanno diversa polarità altrimenti. Si noti che possiamo chiamare negativo o positivo ciascun operatore logico in logica lineare poiché nessun operatore ha - come invece accade accade in logica classica - sia regole reversibili che regole non reversibili. La tabella seguente mostra gli operatori logici negativi e positivi in logica lineare: • la seconda colonna contiene gli operatori logici positivi e la terza colonna gli operatori logici negativi, • in ciascuna riga compaiono la denominazione dei due operatori presentiti in quella linea, un operatore logico positivo e l’operatore logico negativo che è il suo duale. Tabella 4.1: Operatori logici positivi e negativi Denominazione unità moltiplicative connettivi moltiplicativi unità additive connettivi additivi esponenziali quantificatori Positivo 1 ⊗ 0 ⊕ ! ∃ Negativo ⊥ ` T & ? ∀ Nei prossimi paragrafi individueremo le caratteristiche salienti comuni degli operatori negativi e quelle degli operatori positivi. Chiamiamo negativa una formula il cui operatore logico principale è un operatore negativo, e chiamiamo positiva una formula il cui operatore logico principale è positiva. Si noti che - con l’esclusione delle formule atomiche diverse dalle unità logiche - ciascuna formula della logica lineare è una formula positiva o una formula negativa e non può essere sia positiva che negativa, poiché il suo operatore logico principale é unico ed è o negativo o positivo e non può essere sia positivo che negativo. 67 4.1.1 Caratteristiche degli operatori negativi La prima caratteristica degli operatori negativi è quella di avere una sola regola. Questa regola ha un’arietà che dipende dall’operatore: 0 per T , 2 per & e 1 per gli altri operatori negativi elencati nella tabella. Per ciascun operatore negativo, in ciascuna premessa della sua regola compaiono un numero finito di sottoformule della formula che viene introdotta nella conclusione della regola: in ciascuna delle due premesse della regola di & compare una sola sottoformula della formula introdotta nella conclusione, nell’unica premessa della regola di ` sono presenti due sottoformule della formula introdotta nella conclusione, nell’unica premessa della regola degli altri operatori negativi con regola unaria compare solo una sottoformula della formula introdotta nella conclusione della regola (se si ammette nel caso della regola ? che sottoformula di ?A sia A) Per ciascun operatore negativo, la regola è reversibile. La reversibilià della regola può ben essere espressa dicendo che: se A è una formula negativa, ⊢ Γ, A è derivabile se e soltanto se esiste una derivazione la cui ultima regola è quella che introduce la formula A ed è la regola dell’operatore logico principale in A. Infatti, se ⊢ Γ, A è derivabile, poichè la regola per l’operatore logico negativo principale in A è reversibile, esiste una derivazione di ciascuna delle premesse della regola che permette di ottenere il sequente ⊢ Γ, A : e da esse si ottiene, mediante la regola dell’operatore logico principale in A, il sequente ⊢ Γ, A. Il viceversa è banale. Ogni coppia di operatori logici negativi commuta. Ossia, se N1 e N2 sono due operatori logici negativi, allora N1 N2 = N2 N1 . La commutatività di due operatori negativi può essere meglio formulata come segue. Siano N1 e N2 operatori logici negativi. Siano A e B due formule ottenute dalle stesse formule, nel primo caso compiendo dapprima l’operatore logico N1 e successivamente l’operatore logico N2 , e nel secondo caso compiendo dapprima l’operatore logico N2 e successivamente l’operatore logico N1 . Allora: • le formule A e B sono equivalenti, ossia sono derivabili i sequenti ⊢ A⊥ , B e ⊢ B ⊥ , A; • per ogni Γ, i sequenti ⊢ Γ, A e ⊢ Γ, B sono derivabili dalle stesse premesse mediante le regole per quegli operatori logici negativi, usate in caso nell’ordine N1 , N2 e nell’altro nell’ordine N2 , N1 . Mostriamo alcuni esempi di commutatività di due operatori negativi, indicando coppie di formule la cui equivalenza è facile da ottenere: • le due formule la cui equivalenza esprime l’associatività di `, ossia le formule A ` (B ` C) (nella quale si esegue dapprima un ` che coinvolge C e successivamente uno che coinvolge A) e (A ` B) ` C (nella quale si esegue dapprima il ` che coinvolge A e succcessivamente quello che coinvolge C); • le due formule la cui equivalenza esprime l’associatività di &, ossia le formule A&(B&C) (nella quale si esegue dapprima un & che coinvolge C e successivamente uno che coinvolge A) e (A&B)&C (nella quale si esegue dapprima il & che coinvolge A e successivamente quello che coinvolge C); • le due formule la cui equivalenza permette di trascurare l’ordine della quantificazione universale di due variabili, ossia le formule ∀x∀yA ( nella quale si esegue dapprima il ∀ su y e successivamente quello su x) e ∀y∀xA ( nella quale si esegue dapprima il ∀ su x e poi quello su y); • le due formule la cui equivalenza esprime la distributività di ` su &, ossia le formule A ` (B&C) (nella quale si esegue dapprima un & - che coinvolge B e C - e successivamente un ` che coinvolge A) e (A ` B)&(A ` C) (nella quale si esegue dapprima il ` che coinvolge A con ciascuna delle formule B e C e successivamente il & tra questi due risultati); 68 • le due formule (con x non libera in A) ∀x(A ` B) (nella quale si esegue dapprima il ` tra A e B e successivamente il ∀ sulla formula così ottenuta) e A ` ∀B (nella quale si esegue dapprima il ∀ su B nel contesto A dove x non è libera e successivamente il ` tra le due formule). • le due formule ∀x(A&B) (nella quale si esegue dapprima il & tra A e B e successivamente il ∀ sulla formula così ottenuta) e ∀A&∀B (nella quale si esegue dapprima il ∀ su ciascuna delle due formule e successuvamente il ` tra le due formule). Mostriamo come, in ciascuna dei casi sopra considerati, le due formule si derivano dalle stesse premesse mediante le stesse regole in ordine inverso: ⊢ Γ, A, B, C ⊢ Γ, A, B ` C ⊢ Γ, A ` (B ` C) ⊢ Γ, A ⊢ Γ, A, B, C ⊢ Γ, A ` B, C ⊢ Γ, (A ` B) ` C ⊢ Γ, B ⊢ Γ, C ⊢ Γ, B&C ⊢ Γ, A&(B&C) ⊢ Γ, A ⊢ Γ, B ⊢ Γ, C ⊢ Γ, A&B ⊢ Γ, (A&B)&C ⊢ Γ, A, C ⊢ Γ, A, B ⊢ Γ, A ` B ⊢ Γ, A ` C ⊢ Γ, (A ` B)&(A ` C) ⊢ Γ, A ⊢ Γ, ∀yA ⊢ Γ, ∀x∀yA ⊢ Γ, A, B ⊢ Γ, A, ∀xB ⊢ Γ, A ` ∀xB ⊢ Γ, A ⊢ Γ, B ⊢ Γ, A&B ⊢ Γ, ∀x(A&B) ⊢ Γ, A ⊢ Γ, ∀xA ⊢ Γ, ∀y∀xA ⊢ Γ, A, B ⊢ Γ, A, C ⊢ Γ, A, B&C ⊢ Γ, A ` (B&C) quando x non è libera in Γ ⊢ Γ, A, B ⊢ Γ, A ` B ⊢ Γ, ∀x(A ` B) quando x non è libera in A e in Γ ⊢ Γ, A ⊢ Γ, B ⊢ Γ, ∀xA ⊢ Γ, ∀xB ⊢ Γ, ∀xA&∀xB quando x non è libera in Γ Quindi la commutatività di due operatori negativi può essere espressa nel seguente modo. Sia A una formula negativa, con operatore principale negativo N1 e operatore secondario N2 , e sia A derivabile in ogni contesto da certe premesse mediante l’applicazione della regola per N2 seguita dall’applicazione della regola per N1 : in ogni contesto, da quelle stesse premesse, applicando prima la regola per N1 e poi la regola per N2 è è derivabile una formula negativa B in cui l’operatore principale è N2 e l’operatore secondario è N1 . Sembrano un’eccezione alla regola della commutatività di due operatori negativi i casi in cui uno dei due operatori negativi è ?: ad esempieo le due seguenti coppie di formule che sono coppie di formule non equivalenti: • ?(A ` B) (dove si esegue dapprima il ` e successivamente il ?) e ?A`?B (dove si esegue dapprima il ? sulle due formule A e B e successivamente il `); • ?(A&B) ((dove si esegue dapprima il & e successivamente il ?) e ?A&?B (dove si esegue dapprima il ? sulle due formule A e B e successivamente il & ). 69 In realtà, per eseguire il ? la formule deve essere dapprima sottolineata, e la sottolineatura non è reversibile! Sicché, quando uno dei due operatori negativi è ?, prima di esso non può mai esserci un’operazione negativa ma deve esserci un’operazione non reversibile di sottolineatura. Quindi, non c’è mai una successione di due operatori negativi nella quale il secondo operatore eseguito è il ?. Si veda, ad esempio, ciò che avviene nel caso della derivazione delle due coppie di formule, tenendo presente peraltro che una formula sottolineata può essere conclusione anche della regola di indebolimento o della regola di contrazione: ⊢ Γ, A, B ⊢ Γ, A ` B ⊢ Γ, A ` B ⊢ Γ, ?(A ` B) ⊢ Γ, A, B ⊢ Γ, A, B ⊢ Γ, ?A, ?B ⊢ Γ, ?A`?B ⊢ Γ, B ⊢ Γ, A ⊢ Γ, A ⊢ Γ, B ⊢ Γ, ?A ⊢ Γ, ?B ⊢ Γ, ?A&?B ⊢ Γ, A ⊢ Γ, B ⊢ Γ, A&B ⊢ Γ, A&B ⊢ Γ, ?(A&B) Possiamo generalizzare la commutatività degli operatori logici negativi, nel modo seguente. Siano A e B due formule ottenute dalle stesse formule, compiendo esclusivamente gli stessi operatori logici negativi ma in ordine diverso. Allora: • le formule A e B sono equivalenti, ossia sono derivabili i sequenti ⊢ A⊥ , B e ⊢ B ⊥ , A; • per ogni Γ, i sequenti ⊢ Γ, A e ⊢ Γ, B sono derivabili dalle stesse premesse mediante le regole per quegli operatori logici negativi, usate in caso in un ordine e nell’altro in un altro ordine. Una formula negativa n-aria è una formula negativa nella quale ci sono n sottoformule massimali non negative. Quando A è una formule negativa n-aria e le sue sottoformule massimali non negative sono A1 , ..., An , allora è denotata da A[A1 , ..., An ]. Si noti che una formula negativa n-aria A[A1 , ..., An ] è una formula che si ottiene dalle formule non negative A1 , ..., An mediante esclusivamente operatori logici negativi. Esempi di formule negative 0-arie, unarie, binarie e ternarie: • 0- arie: le unità logiche negative; • unarie: ?A per ogni formula A (poiché si tratta di una formula da ritenere sottolineata), ∀xA dove A è una formula non negativa, ma anche ∀x1 ...∀xn A dove A è una formula non negativa; • binarie: A&B e A ` B dove A, B sono formule non negative; ma anche formule come ∀x(A ` B), A ` ∀xB, ∀x(A&B), ∀xA&∀xB, dove A e B sono formule non negative; • ternarie: A ` (B ` C), (A ` B) ` C, A&(B&C), (A&B)&C, A ` (B&C), (A ` B)&(A ` C), dove A, B, C sono formule non negative. Le proprietà degli operatori negativi permettono di stabilire questa proprietà delle formule negative n-arie. Se A[A1 , ..., An ] è una formula negativa n-aria e A1 , ..., An sono le sue sottoformule massimali non negative, allora per ogni contesto Γ il sequente ⊢ Γ, A[A1 , ..., An ] è derivabile da un numero finito di premesse che contengono ciascuna lo stesso contesto Γ e un numero finito di formule fra A1 , ..., An attraverso derivazioni che differiscono unicamente per l’ordine di applicazione di regole reversibili. 70 Se A[A1 , ..., An ] è una formula negativa n-aria dove A1 , ..., An sono le sue sottoformule massimali non negative, e per ogni contesto Γ il sequente ⊢ Γ, A[A1 , ..., An ] è derivabile da un numero finito di premesse che contengono ciascuna lo stesso contesto Γ e un numero finito di formule fra A[A1 , ..., An ], e dimentichiamo l’ordine di applicazione delle regole reversibili nelle varie derivazioni di ⊢ Γ, A[A1 , ..., An ] da quelle premesse, allora si è davanti ad una sorta di regola negativa, dunque reversibile per derivare direttamente ⊢ Γ, A[A1 , ..., An ] da quelle premesse, una regola che è reversibile. Tale regola negativa ha la seguente forma, se le premesse sono k: ⊢ Γ, ∆1 ⊢ Γ, ∆k ⊢ Γ, A[A1 , ..., An ] dove ciascun ∆i contiene un numero finito di formule non negative comprese tra A1 , ..., An . Esempi di tale regola negativa sono ottenibili passando direttamente dalle premesse alla conclusione nelle derivazioni sopra mostrate per ciascuna delle coppie di formule sopra considerate: ⊢ Γ, A, B, C ⊢ Γ, A ` (B ` C) ⊢ Γ, A ⊢ Γ, A, B, C ⊢ Γ, (A ` B) ` C ⊢ Γ, A ⊢ Γ, B ⊢ Γ, C ⊢ Γ, A&(B&C) ⊢ Γ, A, B ⊢ Γ, A, C ⊢ Γ, (A ` B)&(A ` C) ⊢ Γ, A ⊢ Γ, ∀x∀yA ⊢ Γ, A, B ⊢ Γ, A ` ∀xB ⊢ Γ, A ⊢ Γ, B ⊢ Γ, ∀x(A&B) ⊢ Γ, B ⊢ Γ, C ⊢ Γ, (A&B)&C ⊢ Γ, A, B ⊢ Γ, A, C ⊢ Γ, A ` (B&C) ⊢ Γ, A ⊢ Γ, ∀y∀xA quando x non è libera in Γ ⊢ Γ, A, B ⊢ Γ, ∀x(A ` B) quando x non è libera in A e in Γ ⊢ Γ, A ⊢ Γ, B ⊢ Γ, ∀xA&∀xB quando x non è libera in Γ Ogni formula negativa ha soltanto una regola, e tale regola è reversibile. La regola per una formula negativa A[A1 , ..., An ] definisce l’unica maniera (e anche reversibile) per ottenere quella formula in qualunque contesto: la regola per A[A1 , ..., An ] caratterizza, definisce quella formula negativa. Pertanto, date due formule negative A[A1 , ..., An ] e B[B1 , ..., Bn ] , se la regola di A[A1 , ..., An ] ha le stesse premesse della regola di B[B1 , ..., Bn ], allora è naturale pensare che tali formule negative sono uguali. Ad esempio, per quello che abbiamo fatto vedere sopra: • sono uguali le formule negative unarie ∀x∀yA e ∀y∀xA dove A è una formula non negativa; e in generale sono uguali le formule negative unarie ∀x1 ...∀xn A e ∀xσ(1) ...∀xσn A dove A è una formula non negativa e σ è una permutazione di {1, ..., n} • sono uguali le formule negative ternarie A ` (B ` C) e (A ` B) ` C, dove A, B, C sono non negative; • sono uguali le formule negative binarie A ` ∀xB e ∀x(A ` B) dove A, B sono non negative e in A non è libera x; • sono uguali le formule negative binarie ∀xA&∀xB e ∀x(A&B) dove A, B sono non negative e in A non è libera x; • sono uguali le formule negative ternarie A&(B&C) e (A&B)&C, dove A, B, C sono non negative; • sono uguali le formule negative ternarie (A` B)&(A` C) e A` (B&C) dove A, B, C sono non negative. 71 4.1.2 Caratteristiche degli operatori positivi Molto diverse da quelle degli operatori negativi sono le caratteristiche degli operatori positivi. La prima caratteristica degli operatori positivi è quella di avere un numero finito di regole, numero che dipende dall’operatore: l’operatore 0 ha 0 regole, l’operatore ⊕ ha 2 regole, e gli altri operatori positivi elencati nella tabella hanno una sola regola. Ciascuna regola di ciascun operatore positivo ha un’arietà (l’unica regola dell’operatore positivo ⊗ ha 2 premesse, l’unica regola dell’operatore positivo 1 ha 0 premesse, e le regole degli altri operatori positivi elencati in tabella hanno solo una premessa), e in ciascuna premessa di ciascuna regola di ciascun operatore positivo compare solo una delle sottoformule della formula che viene introdotta nella conclusione della regola. Nella prima premessa della regola binaria di ⊗ con conclusione A ⊗ B compare la sottoformula A e nella seconda premessa la sottoformula B; nella unica premessa di ciascuna delle due regole dell’operatore positivo ⊕ con conclusione A⊕B compare una sola delle due sottoformule A e B; nell’unica premessa dell’unica regola di ! con conclusione !A compare la formula A ; nell’unica premesa della regola di ∃ compare una sottoformula estesa della formula introdotta nella conclusione. Per ciascun operatore positivo, la regola o le regole non sono reversibili. La non reversibilità delle regole degli operatori positiivi può ben essere espressa dicendo che: se A è una formula positiva, ci sono contesti Γ tali che ⊢ Γ, A è derivabile ma non esiste alcuna derivazione di ⊢ Γ, A la cui ultima regola introduce la formula A ed è la regola dell’operatore logico principale in A. Ma, anche se le regole per gli operatori positiivi non sono reversibili, anche per gli operatori positivi vale una proporietà che abbiamo visto valere per gli operatori negativi: ogni coppia di operatori logici positivi commuta. Ossia, se P1 e P2 sono due operatori logici negativi, allora P1 P2 = P2 P1 . La commutatività di due operatori positivi può essere meglio formulata come segue. Siano P1 e P2 operatori logici positivi. Siano A e B due formule ottenute dalle stesse formule, nel primo caso compiendo dapprima l’operatore logico P1 e successivamente l’operatore logico P2 , e nel secondo caso compiendo dapprima l’operatore logico P2 e successivamente l’operatore logico P1 . Allora: • le formule A e B sono equivalenti, ossia sono derivabili i sequenti ⊢ A⊥ , B e ⊢ B ⊥ , A; • per ogni Γ, considerati i sequenti ⊢ Γ, A e ⊢ Γ, B, per ogni derivazione di uno dei due sequenti da alcune premesse mediante le regole per quegli operatori logici positivi esiste una derivazione dell’altro sequente dalle stesse premesse mediante le regole per quegli operatori logici negativi, usate in caso nell’ordine inverso. Mostriamo alcuni esempi di commutatività di due operatori logici positivi , indicando coppie di formule la cui equivalenza è fscile da ottenere: • le due formule la cui equivalenza esprime l’associatività di ⊗, ossia le formule A ⊗ (B ⊗ C) (nella quale si esegue dapprima un ⊗ che coinvolge C e successivamente uno che coinvolge A) e (A ⊗ B) ⊗ C (nella quale si esegue dapprima un ⊗ che coinvolge A e successivamente uno che coinvolge C); • le due formule la cui equivalenza esprime l’associatività di ⊕, ossia le formule A ⊕ (B ⊕ C) (nella quale si esegue dapprima un ⊕ che coinvolge C e successivamente uno che coinvolge A) e (A ⊕ B) ⊕ C (nella quale si esegue dapprima un ⊕ che coinvolge A e successivamente uno che coinvolge C); • le due formule la cui equivalenza permette di trascurare l’ordine della quantificazione esistenaziale di due due variabili, ossia le formule ∃x∃yA (nella quale si esegue dapprima il ∃ su Y e successivamente quello su x) e ∃y∃xA (nella quale si esegue dapprima il ∃ su x e successivamente quello su y); 72 • le due formule la cui equivalenza esprime la distributività di ⊗ su ⊕, ossia le formule A ⊗ (B ⊕ C) (nella quale si esegue dapprima un ⊕ che coinvolge B e C, e successivamente un ⊗ che coinvolge A) e (A ⊗ B) ⊕ (A ⊗ C) (nella quale si esegue dapprima il ⊗ che coinvolge A con ciascuna delle formule B e C e dopo il ⊕ tra questi due risultati); • le due formule ∃x(A ⊗ B) (nella quale si esegue dapprima il ⊗ tra A - dove x non è libera - e B e successivamente il ∃ sulla formula così ottenuta) e ∃xA ⊗ ∃B (nella quale si esegue dapprima il ∃ su B e successivamente il ⊗ A - dove x non è libera - e questa formula); • le due formule ∃x(A ⊕ B) (nella quale si esegue dapprima il ⊕ tra A e B e successivamente il ∃ sulla formula così ottenuta) e ∃A ⊕ ∃B (nella quale si esegue dapprima il ∃ su ciascuna delle due formule e successivamente il ⊕ tra le due formule); Mostriamo come, in ciascuna dei casi sopra considerati, le due formule si derivano dalle stesse premesse mediante le stesse regole in ordine inverso (si noti che - trattandosi di operatori positivi - ci sono più maniere di derivare una formula in un contesto, e ciascuna maniera può coinvolgetre premesse diverse): ⊢ Γ2 , B ⊢ Γ3 , C ⊢ Γ2 , Γ3 , B ⊗ C ⊢ Γ, A ⊗ (B ⊗ C) ⊢ Γ1 , A ⊢ Γ1 , A ⊢ Γ2 , B ⊢ Γ3 , C ⊢ Γ1 , Γ2 , A ⊗ B ⊢ Γ, (A ⊗ B) ⊗ C ⊢ Γ, A ⊢ Γ, A ⊕ B ⊢ Γ, (A ⊕ B) ⊕ C ⊢ Γ, A ⊢ Γ, A ⊕ (B ⊕ C) ⊢ Γ, B ⊢ Γ, A ⊕ B ⊢ Γ, (A ⊕ B) ⊕ C ⊢ Γ, B ⊢ Γ, B ⊕ C ⊢ Γ, A ⊕ (B ⊕ C) ⊢ Γ, C ⊢ Γ, B ⊕ C ⊢ Γ, A ⊕ (B ⊕ C) ⊢ Γ1 , A ⊢ Γ2 , B ⊢ Γ, A ⊗ B ⊢ Γ, (A ⊗ B) ⊕ (A ⊗ C) ⊢ Γ1 , A ⊢ Γ2 , C ⊢ Γ, A ⊗ C ⊢ Γ, (A ⊗ B) ⊕ (A ⊗ C) ⊢ Γ, C ⊢ Γ, (A ⊕ B) ⊕ C ⊢ Γ2 , B ⊢ Γ2 , B ⊕ C ⊢ Γ, A ⊗ (B ⊕ C) Γ = Γ1 , Γ2 ⊢ Γ2 , C ⊢ Γ2 , B ⊕ C ⊢ Γ, A ⊗ (B ⊕ C) Γ = Γ1 , Γ2 ⊢ Γ1 , A ⊢ Γ1 , A ⊢ Γ, A[s/x, t/y] ⊢ Γ, ∃yA[t/x, y] ⊢ Γ, ∃x∃yA[x, y] ⊢ Γ2 , B[t/x] ⊢ Γ, A, ∃xB ⊢ Γ, A ⊗ ∃xB[x] ⊢ Γ1 , A Γ = Γ1 , Γ2 , Γ3 ⊢ Γ, A[s/x, t/y] ⊢ Γ, ∃xA[x, t/y] ⊢ Γ, ∃y∃xA[x, y] ⊢ Γ1 , A ⊢ Γ2 , B[t/x] ⊢ Γ, A ⊗ B[t/x] ⊢ Γ, ∃x(A ⊗ B[x]) 73 quando x non è libera in A, con Γ = Γ1 , Γ2 ⊢ Γ, A[t/x] ⊢ Γ, A[t/x] ⊕ B[t/x] ⊢ Γ, ∃x(A[x] ⊕ B[x]) ⊢ Γ, A[t/x] ⊢ Γ, ∃xA[x] ⊢ Γ, ∃xA[x] ⊕ ∃xB[x] ⊢ Γ, B[t/x] ⊢ Γ, A[t/x] ⊕ B[t/x] ⊢ Γ, ∃x(A[x] ⊕ B[x]) ⊢ Γ, B[t/x] ⊢ Γ, ∃xB[x] ⊢ Γ, ∃xA[x] ⊕ ∃xB[x] Un’apparente eccezione alla commutatività di due operatori positivi può sembrare la presenza di queste due coppie di formule che non sono affatto equivalenti: • le formule !(A ⊗ B) (dove si esegue dapprima un ⊗ su due formule e successivamente il ! sul risultato ottenuto) e !A⊗!B (dove si esegue dapprima il ! sulle due formule e successivamente il ⊗ sui risultati ottenuti); • le formule !(A ⊕ B) (dove si esegue dapprima un ⊕ su due formule e successivamente il ! sul risultato ottenuto)e !A⊕!B (dove si esegue dapprima il ! sulle due formule e poi il ⊕ sui risultati ottenuti. Si osservi però che l’operatore positivo ! richiede che il contesto sia fatto esclusivamente di formule sottolineate, e con questa condizione cade la equivalenza in ciascuna delle due coppie di formule: infatti in !(A ⊗ B) o !(A ⊕ B) in realtà si ha non un operatore positivo (⊗ o ⊕) seguito da ! ma un operatore positivo seguito da una sottolineatura del contesto e poi da !. Le derivazioni delle due coppie di formule si comportano come ci si attende per la commutatività degli operatori positivi, ma sotto la condizione che il contesto sia tutto sottolineato: ⊢ Γ1 , A ⊢ Γ2 , B ⊢ Γ, A ⊗ B ⊢ Γ, !(A ⊗ B) ⊢ Γ, A ⊢ Γ, A ⊕ B ⊢ Γ, !(A ⊕ B) ⊢ Γ1 , A ⊢ Γ2 , B ⊢ Γ1 , !A ⊢ Γ2 , !B ⊢ Γ, !A⊗!B ⊢ Γ, A ⊢ Γ, !A ⊢ Γ, !A⊕!B ⊢ Γ, B ⊢ Γ, A ⊕ B ⊢ Γ, !(A ⊕ B) Γ = Γ1 , Γ2 ⊢ Γ, B ⊢ Γ, !B ⊢ Γ, !A⊕!B Possiamo generalizzare la commutatività degli operatori logici positivi, nel modo seguente. • Siano A e B due formule ottenute dalle stesse formule, compiendo esclusivamente gli stessi operatori logici positivi - eccetto ! - ma in ordine diverso. Allora: – le formule A e B sono equivalenti, ossia sono derivabili i sequenti ⊢ A⊥ , B e ⊢ B ⊥ , A; – per ogni Γ, i sequenti ⊢ Γ, A e ⊢ Γ, B sono derivabili dalle stesse premesse mediante le regole per quegli operatori logici positivi, usate in caso in un ordine e nell’altro in un altro ordine. • Siano A e B due formule ottenute dalle stesse formule, compiendo esclusivamente gli stessi operatori logici positivi compreso ! ma in ordine diverso. Allora per ogni Γ, i sequenti ⊢ ΓA e ⊢ Γ, B sono derivabili dalle stesse premesse mediante le regole per quegli operatori logici positivi, usate in caso in un ordine e nell’altro in un altro ordine. Una formula positiva n-aria è una formula positiva nella quale ci sono n sottoformule massimali non positive. Quando A è una formule positiva n-aria e le sue sottoformule massimali non positive sono A1 , ..., An , allora è denotata da A[A1 , ..., An ]. Si noti che una formula positiva n-aria A[A1 , ..., An ] è una formula che si ottiene dalle formule non positive A1 , ..., An mediante esclusivamente operatori logici positivi. Esempi di formule positive 0-arie, unarie, binarie e ternarie: 74 • 0- arie: le unità logiche positive; • unarie: !A , ∃xA e anche ∃x1 ...∃xn A, dove A è una formula non positiva; • binarie: A ⊗ B e A ⊕ B dove A, B sono formule non positive; ma anche formule come ∃x(A ⊗ B), A ⊗ ∃B, ∃x(A ⊕ B), ∃xA ⊕ ∃xB, !(A ⊗ B), !A⊗!B, !(A ⊕ B) =!A&!B, dove A e B sono formule non posiitve; • ternarie: A ⊗ (B ⊗ C), (A ⊗ B) ⊗ C, A ⊕ (B ⊕ C), (A ⊕ B) ⊕ C, A ⊗ (B ⊕ C), (A ⊗ B) ⊕ (A ⊗ C), dove A, B, C sono formule non positive. Le proprietà degli operatori positivi permettono di stabilire questa proprietà delle formule positive n-arie. Se A[A1 , ..., An ] è una formula positiva n-aria e A1 , ..., An sono le sue sottoformule massimali non positive, allora per ogni contesto Γ esiste un numero finito di classi di derivazioni del sequente ⊢ Γ, A[A1 , ..., An ] tale che ciascuna classe contiene derivazioni - che consistono unicamente in applicazioni di regole non reversibili e che differiscono unicamente per l’ordine inessenziale di applicazione di tali regole non reversibili - di ⊢ Γ, A[A1 , ..., An ] dallo stesso numero finito di premesse ciascuna delle quali contiene una sola delle formule A1 , ..., An e una parte del contesto Γ. Se A[A1 , ..., An ] è una formula positiva n-aria dove A1 , ..., An sono le sue sottoformule massimali non positive, e Γ è un contesto, allora ciascuna classe di derivazioni del sequente ⊢ Γ, A[A1 , ..., An ] puè derivabile dallo stesso numero finito di premesse contenente una sola formula delle formule A1 , ..., An e una parte del contesto Γ può essere rappresentata da una sorta di regola positiva, ossia non reversibile che deriva direttamente ⊢ Γ, A[A1 , ..., An ] da quelle premesse, una regola che è non reversibile. Pertanto, ciascuna formula positiva A[A1 , ..., An ] dove A1 , ..., An sono le sue sottoformule massimali non positive induce un numero finito di regole positive (ossia non reversibili), ciascuna delle quali ha una arietà e si presenta (se le premesse sono k) nel modo seguente: Tale regola negativa ha la seguente forma, se le premesse sono k: ⊢ Γ 1 , B1 ⊢ Γ k , Bk ⊢ Γ, A[A1 , ..., An ] dove Γ1 , ..., Γk = Γ e B1 , ..., Bk sono formule non positive fra A1 , ..., An . Esempi di tale regola negativa sono ottenibili passando direttamente dalle premesse alla conclusione nelle derivazioni sopra mostrate per ciascuna delle coppie di formule sopra considerate. • Le formule positive ternarie A ⊗ (B ⊗ C) e (A ⊗ B) ⊗ C (con A, B, C formule non positive) hanno ciascuna una sola regola che è ternaria: ⊢ Γ1 , A ⊢ Γ2 , B ⊢ Γ3 , C ⊢ Γ, A ⊗ (B ⊗ C) ⊢ Γ1 , A ⊢ Γ2 , B ⊢ Γ3 , C ⊢ Γ, (A ⊗ B) ⊗ C Γ = Γ1 , Γ2 , Γ3 • Le formule positive ternarie A ⊕ (B ⊕ C) e (A ⊕ B) ⊕ C (con A, B, C formule non positive) hanno ciascuna tre regole tutte unarie: ⊢ Γ, A ⊢ Γ, A ⊕ (B ⊕ C) ⊢ Γ, B ⊢ Γ, A ⊕ (B ⊕ C) ⊢ Γ, C ⊢ Γ, A ⊕ (B ⊕ C) ⊢ Γ, A ⊢ Γ, (A ⊕ B) ⊕ C ⊢ Γ, B ⊢ Γ, (A ⊕ B) ⊕ C ⊢ Γ, C ⊢ Γ, (A ⊕ B) ⊕ C • Le formule positive ternarie (A ⊗ B) ⊕ (A ⊗ C) e A ⊗ (B ⊕ C) (con A, B, C formule non positive) hanno ciascuna due regole entrambe binarie: 75 ⊢ Γ1 , A ⊢ Γ2 , B ⊢ Γ, (A ⊗ B) ⊕ (A ⊗ C) ⊢ Γ1 , A ⊢ Γ2 , B ⊢ Γ, A ⊗ (B ⊕ C) ⊢ Γ1 , A ⊢ Γ2 , C ⊢ Γ, (A ⊗ B) ⊕ (A ⊗ C) ⊢ Γ1 , A ⊢ Γ2 , C ⊢ Γ, A ⊗ (B ⊕ C) Γ = Γ1 , Γ2 Γ = Γ1 , Γ2 • Le formule positive unarie ∃x∃yA[x, y] e ∃y∃xA[x, y] (con A formula non positive) hanno ciascuna una sola regla che è unaria: ⊢ Γ, A[s/x, t/y] ⊢ Γ, ∃x∃yA[x, y] ⊢ Γ, A[s/x, t/y] ⊢ Γ, ∃y∃xA[x, y] • Le formule positive binarie A ⊗ ∃xB[x] e ∃x(A ⊗ B[x]) (con A, B formule non positive, e x non libera in A) hanno ciascuna una sola regola che è binaria: ⊢ Γ1 , A ⊢ Γ2 , B[t/x] ⊢ Γ, A ⊗ ∃xB[x] ⊢ Γ1 , A ⊢ Γ2 , B[t/x] ⊢ Γ, ∃x(A ⊗ B[x]) con Γ = Γ1 , Γ2 • Le formule positive binarie ∃x(A[x] ⊕ B[x]) e ∃xA[x] ⊕ ∃xB[x] (con A, B formule non positive) hanno ciascuna due regole entrambe unarie: ⊢ Γ, A[t/x] ⊢ Γ, ∃x(A[x] ⊕ B[x]) ⊢ Γ, B[t/x] ⊢ Γ, ∃x(A[x] ⊕ B[x]) ⊢ Γ, A[t/x] ⊢ Γ, ∃xA[x] ⊕ ∃xB[x] ⊢ Γ, B[t/x] ⊢ Γ, ∃xA[x] ⊕ ∃xB[x] • Le formule positive binarie !(A ⊗ B) e !A⊗!B (con A e B formule non positive) hanno ciascuna una sola regola che è binaria e con contesti sottolineati: ⊢ Γ2 , B ⊢ Γ1 , A ⊢ Γ, !(A ⊗ B) ⊢ Γ2 , B ⊢ Γ1 , A ⊢ Γ, !A⊗!B Γ = Γ1 , Γ2 • Le formule positive binarie !(A ⊕ B) e !A⊕!B (con A e B formule non positive) hanno ciascuna due regole entrambe unarie e con contesti sottolineati: ⊢ Γ, A ⊢ Γ, !(A ⊕ B) ⊢ Γ, B ⊢ Γ, !(A ⊕ B) ⊢ Γ, A ⊢ Γ, !A⊕!B ⊢ Γ, B ⊢ Γ, !A⊕!B L’insieme finito delle regola per una formula positiva A[A1 , ..., An ] definisce l’unica maniera per ottenere quella formula in un dato contesto, e dunque l’insieme finito delle regole per A[A1 , ..., An ] caratterizza, definisce quella formula positiva. Pertanto, date due formule positive A[A1 , ..., An ] e B[B1 , ..., Bn ] , se l’insieme delle regola di A[A1 , ..., An ] e di B[B1 , ..., Bn ] coincidono (nel senso che hanno lo stesso numero di regole e tutte le regole hanno le stesse premesse) allora è naturale pensare che tali formule posiitve sono uguali. Ad esempio, per quello che abbiamo fatto vedere sopra: • sono uguali le formule positive unarie ∃x∃yA e ∃y∃xA dove A è una formula non positiva; e in generale sono uguali le formule positive unarie ∃x1 ...∃xn A e ∃xσ(1) ...∃xσn A dove A è una formula non positiva e σ è una permutazione di {1, ..., n} • sono uguali le formule positive ternarie A ⊗ (B ⊗ C) e (A ⊗ B) ⊗ C, dove A, B, C sono non positive; • sono uguali le formule positive binarie A ⊗ ∃xB e ∃x(A ⊗ B) dove A, B sono non positive e in A non è libera x; • sono uguali le formule positive binarie ∃xA ⊕ ∃xB e ∃x(A ⊕ B) dove A, B sono non positive; • sono uguali le formule positive ternarie A ⊕ (B ⊕ C) e (A ⊕ B)&C, dove A, B, C sono non positive; • sono uguali le formule positive ternarie (A ⊗ B) ⊕ (A ⊗ C) e A ⊗ (B ⊕ C) dove A, B, C sono non positive. 76 4.1.3 Rapporto tra operatori positivi e operatori negativi Chiamiamo una formula PN o positiva-negativa se il suo operatore principale è positivo ed è preceduto direttamente da un operatore negativo. Chiamiamo una formula NP o negativa-positiva se il suo operatore principale è negativo ed è preceduto direttamente da un operatore positivo. A ciascuna formula PN viene associata una formula NP come nella tabella seguente: PN A ⊗ (B ` C) A ⊗ (B&C) ∀xA ⊗ ∀xB ?A⊗?B (A ` B) ⊕ (A ` C) (A&B) ⊕ (A&C) ∀xA ⊕ ∀xB ?A⊕?B ∃x(A ` B) ∃x(A&B) ∃x∀yA ∃x?A !(A ` B) !(A&B) !∀xA !?A NP (A ⊗ B) ` C (A ⊗ B)&(A ⊗ C) ∀x(A ⊗ B) ?(A ⊗ B) A ` (B ⊕ C) A&(B ⊕ C) ∀x(A ⊕ B) ?(A ⊕ B) ∃xA ` ∃xB ∃xA&∃xB ∀y∃xA ?∃xA !A`!B !A&!B ∀x!A ?!A Tabella 4.2: Formule PN e corrispondenti formule NP La prima cosa da segnalare è che - mentre due operatori logici positivi commutano tra loro e due operatori logici negativi commutano tra loro - due operatori di polarità diversa (ossia non entrambi positivi, non entrambi negativi) non commutano. Ossia: se A è una formula PN e B è la corrispondente formula NP, allora A e B non sono logicamente equivalenti. In più, si mostra (in riferimento alla tabella precedente) che ciascuna formula PN implica logicamente la corrispondente formula NP, ossia che se A è una formula PN e B è la corrispondente formula NP, allora è derivabile logicamente il sequente ⊢ A⊥ , B. Per esercizio, quando A è una formula PN e B è la corrispondente formula NP • si mostri una derivazione cut-free di ⊢ A⊥ , B • si mostri che non esiste una derivazione cut-free di ⊢ B ⊥ , A Si noti che, quando A è una formula PN e B è la corrispondente formula NP, per particolari valori delle variabili libere presenti nelle due formule può essere derivato (in una particolare teoria) che B implica A. Ad esempio, il teorema di compattezza è un particolare caso in cui si stabilisce che - per particolari valori delle variabili - una formula NP B implica la sua corrispondente formula PN. I teoremi che stabiliscono - come il teorema di compattezza - che per particolari valori delle variabili una formula NP implica la sua corrispondente formula PN sono in generale teoremi difficili e non banali. 77 4.2 Derivazioni focalizzate Una derivazione cut-free è focalizzata quando soddisfa le seguenti condizioni: 1. se un sequente contiene una formula negativa, esso è conclusione di (ID) o di una regola reversibile (che introduce nel seguente una formula negativa), 2. se un sequente è premessa di una regola non reversibile, e tale regola agisce su una formula positiva B di tale sequente che diventa sottoformula immediata introdotta nella conclusione di quella regola, allora esso è conclusione di una regola non reversibile che introduce la formula B. Una derivazione cut-free focalizzata si presenta pertanto nel modo seguente: • per la prima proprietà di una derivazione focalizzata, se un sequente contiene almeno una formula negativa, allora la derivazione sopra quel sequente contiene solo (ID) o regole reversibili fino a che (dal basso verso l’alto) non si arriva a sequenti che non contengono formule negative e che sono premesse di regole reversibili, e dunque consiste nel passare (dal basso verso l’alto) mediante regole reversibili da quel sequente a sequenti che contengono solo sottoformule non negative delle formule di quel sequente; • per la seconda proprietà di una derivazione focalizzata, se un sequente è della forma ⊢ Γ, C[C1 , ..., Cn ] e non contiene formule negative ed è conclusione di una regola non reversibile che introduce la formula positiva n-aria C[C1 , ..., Cn ] (dove C1 , ..., Cn sono formule non positive, allora la derivazione sopra quel sequente contiene solo (ID) oppure regole non reversibili che introducono sottoformule di C fino a che (dal basso verso l’alto)non si arriva a sequenti che contengono ciascuno una delle sottoformule non positive C1 , ..., Cn di C e che sono premesse di regole positive che introducono quelle sottoformule positive di C, e dunque consiste nel passare (dal basso verso l’alto) mediante regole non reversibili da un sequente che contiene C a sequenti che contengono sottofomule non positive di C; • per quanto detto sopra, dal basso verso l’alto si presenta come un alternanza fra blocchi di regole reversibili e blocchi di regole non reversibili(si comincia con un blocco di regole reversibili seguito da un blocco di regole non reversibili, poi ancora un blocco di regole reversibili seguito da un blocco di regole non reversibili, ecc... ) fino agli assiomi. Un’importante teorema mostra come ci possiamo limitare, quando consideriamo le derivazioni cut-free - alle sole derivazioni focalizzate: Teorema 16. Ogni derivazione cut-free di ⊢ Γ in logica lineare può essere effettivamente trasformata in una derivazione focalizzata di ⊢ Γ . Dimostrazione. Segue dalla generalizzazione delle proprietà degli operatori positivi e degli operatori negativi, illustrate nei paragrafi precedenti. L’importanza di questo teorema consiste nel fatto che esso mostra qualcosa di non atteso nella procedura di ricerca di una derivazione. Quando si ha a che fare con la ricerca di una derivazione di un sequente che contiene solo formule positive la scelta di quale fra queste formule vada analizzata per prima (dal basso verso l’altro) è una scelta che può essere sbagliata: la non reversiobilità delle regole degli operatori positivi significa proprio che la presenza di una formula positiva in un sequente non ci permette di dire che ci sia una derivazione di quel sequente che termina con la regola che introduce quella formula. Ma dato un sequente contenente solo formule positive, se c’è una derivazione che termina con la regola che introduce una formula positiva di quel sequente a partire da premesse positive di quella formula, allora anche le premesse di quella regola sono derivabili con la regole non reversibili che introducono quelle sottoformule positive. Il teorema mostra anche come le derivazioni (e quindi le dimostrazioni da esse espresse) cut-free possano essere viste ciascuna come un’alternanza di polarità: una polarità negativa (regole reversibili) e una polarità positiva (regole non reversibili). 78 4.3 Operatori generalizzati, negativi e positivi Una formula negativa n-aria A[A1 , ..., An ] - dove A1 , ..., An sono le sue sottoformule massimali non negative piò essere vista come il risultato dell’applicazione di un operatore negativo n-ario F alle formule non negative A1 , ..., An , definito dalla unica regola reversibile di A[A1 , ..., An ], con A[A1 , ..., An ] = F (A1 , ..., An ). Analogamente, una formula positiva n-aria A[A1 , ..., An ] - dove A1 , ..., An sono le sue sottoformule massimali non positive - piò essere vista come il risultato dell’applicazione di un operatore positivo n-ario G alle formule non positive A1 , ..., An , definito dall’insieme delle regole di A[A1 , ..., An ], con A[A1 , ..., An ] = G(A1 , ..., An ) Ora mostriamo che, per ogni n, tutti gli operatori negativi n-ari e tutti gli operatori positivi n-ari possono essere indotti dai sottoinsiemi di ℘({1, ..., n}. Infatti, sia Φ ⊆ ℘({1, ..., n}. • L’operatore n-ario negativo indotto da Φ e denotato Φ− è l’operatore n-ario che trasforma n formule non negative A1 , ..., An in una formula negativa Φ− (A1 , ..., An ) definita da una sola regola reversibile tale che: – ha tante premesse quanti gli elementi di Φ, ossia ♯(Φ− ) è l’arietà della regola di Φ− ; – le singole premesse della regola sono associate ai singoli elementi di Φ, ossia a ∈ Φ è la premessa a della regola di Φ− ; – la premessa a ha la forma ⊢ Γ, {Ai : i ∈ a} quando Γ, Φ− (A1 , ..., An ) è la conclusione della regola. La regola per l’operatore Φ− che introduce nella conclusione Φ− (A1 , ..., An ) si presenta dunque nella forma seguente: ⊢ Γ, {Ai : i ∈ a} ... ⊢ Γ, Φ− (A1 , ..., An ) ... ∀a ∈ Φ • L’operatore n-ario positivo indotto da Φ e denotato Φ+ è l’operatore n-ario che trasforma n formule non positive A1 , ..., An in una formula positiva Φ+ (A1 , ..., An ) definita da un insieme finito di regole non reversibili tale che: – ci sono tante regole quanti gli elementi di Φ, ossia ♯(Φ) è il numero delle regole di Φ+ ; – le singole regole sono associate ai singoli elementi di Φ, ossia a ∈ Φ è la regola a di Φ+ ; – la regola a ha tante premesse quanti gli elementi di a, e la premessa associata ad i ∈ a contiene la formula Ai quando Γ, Φ+ (A1 , ..., An ) è la conclusione della regola. L’operatore Φ+ ha dunque una regola per ogni a ∈ Φ, e per a ∈ Φ la regola associata ad a quando introduce la formula Φ+ (A1 , ..., An ) nella conclusione ha la forma seguente: ... ⊢ ⊢SΓi , Ai ... ∀i ∈ a {Γi }, Φ+ [A1 , ..., An ] • La negazione lineare di una formula negativa ottenuta mediante l’ operatore negativo Φ− e la negazione lineare di una formula positiva ottenuta mediante l’operatore positivo Φ+ sono definite come segue: – se A1 , ..., An sono formule non negative, (Φ− (A1 , ..., An ))⊥ = Φ+ ((A1 )⊥ , ..., (An )⊥ ) – se A1 , ..., An sono formule non positive, (Φ+ (A1 , ..., An ))⊥ = Φ− ((A1 )⊥ , ..., (An )⊥ ) Per induzione, si mostra che - anche con l’uso degli operatori n-ari negativi e positivi - per ogni formula A vale A⊥⊥ = A. 79 • La regola di trasformazione di un (cut) che coinvolge una formula ottenuta come conclusione di una regola a per Φ+ e una formula ottenuta come conclusione della regola per Φ− è la seguente ⊢SΓi , Ai ... ∀i ∈ a ⊢ {Γi }, Φ+ [A1 , ..., An ] ... ... ⊢ Φ ... ⊢ Γi , Ai ... S {Γi }, ∆ S ∀i ∈ a ⊢ {Γi }, ∆ ⊢ ∆, {(Ai )⊥ : i ∈ b} ... ⊢ ∆, Φ− ((A1 )⊥ , ..., (An )⊥ ) ⊢ ∆, {(Ai )⊥ : i ∈ a} (cut ∀b ∈ Φ multiplo) Per esercizio, si mostrino gli operatori negativi e positivi 0-ari indotti dagli elementi di ℘(∅), gli operatori negativi e positivi unari indotti dagli elementi di ℘({1}), gli operatori negativi e positivi binari indotti dagli elementi di ℘({1, 2}), gli operatori negativi e positivi ternari indotti dagli elementi di ℘({1, 2, 3}). 80