Calcolo dei sequenti I. Introduzione. giovanni.casini@gmail.com 5 Maggio 2009
Introduzione Il calcolo dei sequenti è stato introdotto nel 1935 da Gerhard Gentzen in Untersuchungen über das logische Schliessen (Investigazioni sulla Deduzione Logica), articolo in cui viene presentata anche la deduzione naturale. Il calcolo dei sequenti si pone come un sistema di deduzione alternativo ai sistemi assiomatici di tipo hilbertiano e alla deduzione naturale. Gentzen ha introdotto questo tipo di calcolo al fine di ottenere, grazie al teorema di cut-elimination, una serie di importanti risultati nel campo della teoria della dimostrazione.
Introduzione In queste lezioni andremo a toccare i seguenti argomenti: Cosa è il calcolo dei sequenti. Presenteremo il calcolo dei sequenti sia per la logica intuizionista che per quella classica, dimostrandone l equivalenza con la deduzione naturale (e quindi anche con le assiomatizzazioni di tipo hilbertiano). Cosa è stato fatto. Andremo a vedere i risultati principali ottenuti col calcolo dei sequenti, cioè il teorema di Cut-elimination e le sue principali applicazioni. Cosa si sta facendo. Vedremo brevemente, senza scendere nel dettaglio, le logiche substrutturali, un campo di ricerca basato sul calcolo dei sequenti tutt ora in pieno sviluppo.
Introduzione In particolare, in questa lezione: Definiremo le nozioni di sequente e di calcolo sui sequenti. Partendo dalle regole della deduzione naturale per la logica intuizionista, andremo a costruire un corrispondente calcolo sui sequenti. Dimostreremo la corrispondenza fra i due.
Introduzione Lavoreremo con i linguaggi della logica proposizionale e della logica del primo ordine, come già definiti nella parte precedente del corso. In generale, le lettere greche minuscole (α, β, γ,...) rappresenteranno le nostre variabili proposizionali, mentre le lettere greche maiuscole (Γ,, Θ,...) staranno per insiemi (o sequenze, a seconda del contesto) di formule. Per la logica del primo ordine, utilizzeremo x, y,... per indicare le variabili individuali e t, u, v,... per rappresentare termini in genere.
Un po di definizioni... Prima di tutto, andiamo a definire l oggetto del nostro calcolo, cioè il sequente. Definizione (Sequente) Dato un linguaggio l, chiamiamo un sequente una coppia ordinata Γ : tale che Γ e sono sequenze finite (possibilmente vuote) di formule di l.
Un po di definizioni... Questa è la definizione dei sequenti veri e propri, come definiti da Gentzen: è importante notare che stiamo parlando di una coppia di sequenze di formule, cioè viene dato peso all ordine in cui le formule si presentano. Comunque, più in generale, si utilizza il termine sequente anche per riferirci a un coppia ordinata Γ : α, in cui Γ è un insieme di formule (l ordine non conta) e α una singola formula.
Un po di definizioni... Per distinguere le due nozioni, ci affideremo alla notazione. Per indicare un sequente nel senso di Gentzen utilizzeremo la freccia. Un sequente avrà la forma Γ dove Γ e sono sequenze finite (possibilmente vuote) di formule. La forma Γ α si riferisce invece ad un sequente in un senso più generico, in cui Γ è un insieme finito (possibilmente vuoto) di formule e a destra dell linea abbiamo esattamente una formula α.
Un po di definizioni... Dato un sequente Γ ( Γ α ), chiameremo la sequenza (insieme) di formule Γ a sinistra di ( ) l antecedente del sequente, e la sequenza (formula α) a destra il conseguente. Mentre la deduzione naturale è costruita su un insieme di regole che permettono la derivazione di formule a partire da altre formule, nel calcolo dei sequenti andiamo a definire un insieme di regole che permettono di derivare nuovi sequenti a partire da un insieme iniziale di sequenti.
Un po di definizioni... Sempre per distinguere, chiameremo calcolo sui sequenti un qualunque sistema di derivazione che lavora con i sequenti, mentre con calcolo dei sequenti ci riferiremo alla tipologia di sistemi sviluppati da Gentzen, che, come vedremo domani, hanno come oggetto i sequenti di tipo Γ e utilizzano solo regole di introduzione. Un calcolo sui sequenti consiste di assiomi (sequenti assunti come validi) e regole di derivazione con la seguente forma: S 1 S 2 or S 3 dove S 1, S 2, S 3 sono sequenti. S 1 S 2
Un po di definizioni... Ad esempio, due possibili regole per la derivazioni di sequenti sono Γ α Γ β Γ α β o Γ, α β Γ α β
Un po di definizioni... Definizione (Derivazione) Dato un calcolo sui sequenti S, chiameremo una derivazione in S un albero D di sequenti le cui foglie corrispondono ad assiomi di S ed ogni altro sequente viene ottenuto dai sequenti immediatamente superiori per mezzo di una regola di derivazione di S. Diciamo che un sequente Γ (Γ ) è derivabile in un calcolo sui sequenti S ( S Γ ) se e solo se è il sequente finale (la radice) di un albero di derivazione in S.
Un po di definizioni... Ad esempio, se abbiamo un calcolo sui sequenti S definito da un insieme di S-assiomi e S-regole di derivazione, una derivazione in S avrà una struttura di questo tipo: (S-regola) Γ S assioma Λ Σ Γ S assioma Γ S assioma (S-regola) Λ Ω. Φ Ψ Sequente finale. (S-regola)
Interpretazioni dei sequenti Ma come viene interpretato un sequente? Assumiamo di avere una logica L definita da un linguaggio l e un operatore di conseguenza (L = l, ), i sequenti di L avranno la forma α 1,..., α n β 1,..., β m tale che α 1,..., α n, β 1,..., β m sono formule di l. Come specificheremo meglio in seguito, un sequente α 1,..., α n β 1,..., β m di L viene generalmente interpretato come (α 1... α n ) (β 1... β m )
Interpretazioni dei sequenti Un sequente non è quindi una formula del linguaggio l, né afferma la verità o la falsità di insiemi di formule, ma ci dice qualcosa riguardo la relazione di conseguenza della logica L, ci parla delle connessioni premesse-conseguenze. Il calcolo dei sequenti si pone quindi come una sorta di meta-calcolo di una logica L: anzichè derivare nuove formule a partire da formule assunte, partiamo da un insieme noto di connessioni premesse-conseguenze e andiamo a derivarne di nuove. Per ora assumiamo questa connessione fra sequenti e relazioni di conseguenza come l intuizione che sta dietro l uso dei sequenti. Oggi ci occuperemo proprio di giustificare questa connessione.
Interpretazioni dei sequenti Vi è quindi una notevole differenza fra una regola in deduzione naturale e una regola nel calcolo dei sequenti. α β α β Γ α Γ β Γ α β Nonostante abbiano una forma simile, vi è una differenza di livello : la linea di derivazione che separa le premesse dalla conclusione nella deduzione naturale è sullo stesso piano della freccia all interno del sequente, definendo una relazione fra formule, mentre la linea di derivazione nelle regole di un calcolo sui sequenti definisce una relazione premesse-conseguenze fra elementi di una relazione di conseguenza.
Schema della presentazione Adesso andiamo a costruire un calcolo sui sequenti per la logica intuizionista. Partiremo dall approccio intuizionista perchè in questo caso i sequenti alla Gentzen hanno al più una formula a destra della freccia, cioè hanno la forma α 1,..., α n β che risulta più immediatamente intuitiva. Partiremo lavorando con sequenti di forma α 1,..., α n β in cui l antecedente viene trattato come un insieme di formule e per conseguente abbiamo esattamente una formula.
Schema della presentazione Partiremo riprendendo il sistema di deduzione naturale intuizionista (che d ora in poi chiameremo ND i ). A partire da ND i andremo a costruire il sistema che chiameremo SND i (Intuitionistic Sequential Natural Deduction), una diretta traduzione di ND i a livello dei sequenti. Dimostreremo che vi è una corrispondenza fra ND i e SND i, cioè che per ogni insieme di formule Γ e ogni formula α abbiamo Γ NDi α se e solo se SNDi Γ α SND i ci sarà poi necessario per andare a costruire il calcolo dei sequenti per la logica intuizionista (SC i ).
Da ND i a SND i Come sappiamo, nella deduzione naturale non vi sono formule assunte come valide (assiomi), ma solo regole di inferenza. È però possibile introdurre un numero finito di formule come assunzioni, dando la possibilità di scaricarle in seguito, o facendo dipendere la conclusione da esse. Risulta quindi essenziale registrare le assunzioni non scaricate per determinare da quali premesse dipende la conclusione. Negli alberi di dimostrazione, quindi, segnaliamo quali di queste assunzioni non vengono scaricate.
Da ND i a SND i Un sistema alternativo per registrate le assunzioni consiste nel sostituire ogni formula α di una dimostrazione con un un sequente Γ α: il conseguente α riporta la formula derivata, mentre l antecedente Γ esplicita in maniera completa l insieme della premesse da cui tale formula dipende.
Da ND i a SND i Ad esempio, prendiamo il seguente passaggio di un albero di deduzione naturale: Γ.. α β α β Se lo traduciamo in sequenti otteniamo Γ α β Γ, α β
Da ND i a SND i Con questo procedimento possiamo trasformare ogni albero di derivazione della deduzione naturale in un equivalente albero di sequenti, in cui ad ogni foglia, dove era presente un assunzione α, apparirà un sequente α α (che sta ad indicare che viene introdotta una formula α in dipendenza da se stessa) e alla radice il sequente che riporta la conclusione della nostra dimostrazione, in dipendenza dalle assunzioni non scaricate.
Da ND i a SND i Esempio. Questo albero di deduzione naturale, che dimostra ( x)(g(x) F (x)) ( x)g(x) ( x)f (x),... ( x)(g(x) F (x)) (1) G(a) F (a) F (a) (E ) ( x)f (x) (I ) ( x)g(x) ( x)f (x)) [( x)g(x) (2) ] (E ) G(a) (E ) (I )[2]
Da ND i a SND i... viene trasformato in questo albero di sequenti. ( x)(g(x) F (x)) ( x)(g(x) F (x)) (E ) ( x)(g(x) F (x)) G(a) F (a) ( x)(g(x) F (x)), ( x)g(x) F (a) ( x)(g(x) F (x)), ( x)g(x) ( x)f (x) ( x)(g(x) F (x)) ( x)g(x) ( x)f (x)) ( x)g(x) ( x)g(x) ( x)g(x) G(a) (I ) (I ) (E ) (E )
Il calcolo SND i Possiamo quindi pensare di tradurre le regole della deduzione naturale in un insieme di regole in forma di sequenti. Prima di tutto dobbiamo prendere in considerazione il ruolo delle assunzioni: nel calcolo dei sequenti non abbiamo assunzioni, ma, come abbiamo visto, ogni assunzione α si traduce in un sequente α α. Introduciamo quindi nel nostro calcolo sui sequenti uno schema di assiomi che indichi che possiamo introdurre nell albero di derivazione qualunque formula facendola dipendere da se stessa. (Tavola I: Assioma di riflessività) Assioma : α α Riflessività
Il calcolo SND i Passiamo quindi a ridefinire le regole di derivazione della deduzione naturale per la logica intuizionista, seguendo il metodo definito sopra per la trasformazione degli alberi di derivazione. Prendiamo le regole per la logica intuizionista proposizionale (ND i prop ) e traduciamole in un sistema di regole a livello dei sequenti (SND i prop ).
Il calcolo SND i (Tavola II: Regole di ND i prop ) [I ] [I ] α β α β α α β [E ] β α β α β α [E ] α β β [α] [β].. α β γ γ γ [I ] [α]. β α β [E ] α β β α [I ] [α]. [α]. β β α [E ] α α β
Il calcolo SND i (Tavola III: Regole di SND i prop ) [I ] Γ α β Γ, α β [E ] Γ α β Γ α Γ α β Γ β [I ] Γ α Γ α β Γ β Γ α β [E ] Γ α β, α γ Λ, β γ Γ,, Λ γ [I ] Γ, α β Γ α β [E ] Γ α β Γ, β α [I ] Γ, α β, α β Γ, α [E ] Γ α α Γ, β
Il calcolo SND i Per ottenere un calcolo dei predicati SND i è sufficiente tradurre in forma di sequente le regole per i quantificatori di ND i e aggiungerle alle regole di SND i prop. (Tavola IV: Regole sui quantificatori di ND i ) [I ] a α(t) ( x)α(x) [E ] ( x)α(x) α(t) [I ] α(t) ( x)α(x) [E ] b ( x)α(x) β [α(t)]. β a Il termine t non deve occorrere nè nella formula ( x)α(x), nè in alcuna delle assunzioni da cui tale formula dipende b Il termine t non deve occorrere nè in ( x)α(x), nè in β, nè in alcuna delle assunzioni da cui β dipende.
Il calcolo SND i (Tavola V: Regole sui quantificatori di SND i ) [I ] a Γ α(t) Γ ( x)α(x) [E ] Γ ( x)α(x) Γ α(t) [I ] Γ α(t) Γ ( x)α(x) [E ] b Γ ( x)α(x), α(t) β Γ, β a Il termine t non deve occorrere in nessuna delle formule contenute nel sequente inferiore. b Il termine t non deve occorrere in nessuna delle formule contenute nel sequente inferiore, né in ( x)α(x). Il calcolo SND i (Intuitionistic Sequential Natural Deduction) viene quindi definito dall assioma di riflessività (Tavola I), le regole sui connettivi proposizionali (Tavola III), e le regole sui quantificatori (Tavola V).
Monotonìa Un importante regola che possiamo derivare dalle regole di SND i è la regola di Left Weakening (LW), corrispondente alla monotonìa: Γ α Γ,β α Γ α β β (I ) Γ, β α β (E ) Γ, β α
Corrispondenza fra ND i e SND i Possiamo dimostrare che sistemi di derivazione ND i e SND i corrispondono. Per dimostrare questo dobbiamo dare alcune definizioni. Dato un albero di derivazione D (sia di ND i che di SND i ), un ramo r è una sequenza di formule (sequenti) tale che la prima è una foglia dell albero, l ultima è la formula (sequente) finale, e ogni elemento della sequenza è la formula (sequente) che nell albero si trova immediatamente sotto il suo predecessore.
Corrispondenza fra ND i e SND i Esempio di ramo: ( x)(g(x) F(x)) (1) (E ) G(a) F(a) F(a) (I ) ( x)f(x) ( x)g(x) ( x)f(x)) [( x)g(x) (2) ] (E ) G(a) (E ) (I )[2]
Corrispondenza fra ND i e SND i La profondità di un ramo r corrisponde al numero di formule (sequenti) che compongono il ramo (l(r) = r ). La profondità di un albero di derivazione D corrisponde a quella del suo ramo più profondo: l(d) = max{l(r) r è un ramo di D}
Corrispondenza fra ND i e SND i Adesso possiamo enunciare e dimostrare (sommariamente) il teorema che ci dà la corrispondenza fra i due calcoli. Teorema (Corrispondenza fra ND i e SND i ) Prendiamo un linguaggio l per la logica dei predicati. Per ogni sott insieme finito Γ di l e ogni α l, Γ NDi α se e solo se SNDi Γ α
Corrispondenza fra ND i e SND i Dimostrazione (schema). (I) Se Γ NDi α, allora SNDi Γ α. Dobbiamo dimostrare che per qualunque derivazione D in ND i esiste una corrispondente derivazione D in SND i tale che, se D dimostra Γ NDi α, allora SNDi Γ α. Dimostriamo questo per induzione completa sulla profondità di D. Passo 1: l(d) = 1. Se l(d) = 1, D è composto da una singola assunzione α che dipende da se stessa. Quindi D dimostra α NDi α. L albero corrispondente D in SND i è quello composto dal singolo assioma α α.
Corrispondenza fra ND i e SND i Passo 2: l(d) = m + 1. Per ipotesi di induzione assumiamo che per ogni derivazione C in ND i tale che l(c) m, esiste una derivazione C in SND i corrispondente, cioè tale che se C dimostra Γ NDi α, allora C dimostra SNDi Γ α. Una derivazione D tale che l(d) = m + 1 viene ottenuta applicando una regola di ND i alle conclusioni di un un insieme di alberi di deduzione {C 1,..., C n } (con 1 n 3). Ci è quindi sufficiente dimostrare che applicando una qualunque regola di ND i possiamo ottenere una corrispondente derivazione D in SND i.
Corrispondenza fra ND i e SND i Facciamo un esempio, prendendo la regola (E ). Poniamo di avere un albero D di profondità m + 1 così costruito: Γ, [α] Λ, [β] C 1 α β γ C 2 γ C 3 γ (E ) D dimostra che Γ,, Λ NDi γ.
Corrispondenza fra ND i e SND i Per ipotesi di induzione sappiamo che esistono tre derivazioni C 1, C 2, C 3 in SND i che dimostrano rispettivamente Γ α β,, α γ e Λ, β γ. Adesso basta applicare a questi tre sequenti la regola (E ) di SND i per ottenere l albero D. C 1 Γ α β C 2, α γ Γ,, Λ γ C 3 Λ, β γ (E ) D dimostra che SNDi Γ,, Λ γ.
Corrispondenza fra ND i e SND i Ripetendo lo stesso procedimento per tutte le regole otteniamo la nostra dimostrazione. Nota: le regole (E ), (I ), (I ) e (E ) di ND i permettono lo scaricamento di alcune assunzioni, ma non lo obbligano. Al contrario, le corrispondenti regole di SND i scaricano automaticamente le premesse. Nel caso che applicassimo una di queste regole senza scaricare una o più assunzioni, otteremmo una derivazione corrispondente in SND i reintroducendo la premessa scaricata tramite l applicazione della regola di Left Weakening, che è stata precedentemente dimostrata valida in SND i.
Corrispondenza fra ND i e SND i Esempio. Se utilizziamo la regola (E ) senza scaricare la premessa β (ottenendo quindi Γ,, Λ, β NDi γ)... Γ, [α] Λ, β C 1 α β γ C 2 γ C 1 γ (E )
Corrispondenza fra ND i e SND i... otterremo l albero corrispondente in SND i reitroducendo l assunzione β per mezzo del LW : C 1 Γ α β C 2, α γ Γ,, Λ γ Γ,, Λ, β γ C 3 Λ, β γ (E ) (LW )
Corrispondenza fra ND i e SND i (II) Se SNDi Γ α, allora Γ NDi α. Adesso dobbiamo dimostrare la direzione inversa, cioè che per qualunque derivazione D in SND i esiste una corrispondente derivazione D in ND i tale che, se D dimostra SNDi Γ α, allora Γ NDi α. Seguiamo esattamente lo stesso procedimento della prima parte, utilizzando l induzione completa sulla profondità di D; semplicemente ci muoveremo da SND i verso ND i. Abbiamo quindi dimostrato la corrispondenza fra ND i e SND i, e giustificato la lettura di un calcolo a livello dei sequenti come un calcolo sugli elementi di una relazione di conseguenza logica.
Conclusioni Cosa abbiamo visto oggi: Abbiamo introdotto la nozione di sequente, e spiegato come un calcolo sui sequenti si differenzi dalla deduzione naturale. Partendo dalle regole per la deduzione naturale nella logica intuizionista, abbiamo costruito un sistema di derivazione corrispondente SND i che lavora al livello dei sequenti.
Conclusioni Cosa vedremo domani: Partendo da SND i andremo a definire il calcolo dei sequenti nello stile di Gentzen per la logica intuizionista (SC i ).