On the Formal Metatheory of the Pure Type Systems using One-sorted Variable Names and Multiple Substitutions
Urciuoli
We develop formal theories of conversion for Church-style lambda-terms with Pi-types in first-order syntax using one-sorted variables names and Stoughton's multiple substitutions. We then formalize the Pure Type Systems along some fundamental metatheoretic properties: weakening, syntactic validity, closure under alpha-conversion and substitution. Finally, we compare our formalization with others related. The whole development has been machine-checked using the Agda system. Our work demonstrates that the mechanization of dependent type theory by using conventional syntax and without identifying alpha-convertible lambda-terms is feasible.
academic
Sulla Metateoría Formale dei Sistemi di Tipo Puro utilizzando Nomi di Variabili Monosortiti e Sostituzioni Multiple
Questo articolo sviluppa una teoria formale della conversione per termini λ in stile Church con tipi Π, utilizzando sintassi del primo ordine, nomi di variabili monosortiti e sostituzioni multiple di Stoughton. Successivamente formalizza i Sistemi di Tipo Puro (Pure Type Systems, PTS) e alcune proprietà metateoretiche fondamentali: indebolimento, validità sintattica, chiusura sotto conversione α e sostituzione. Infine confronta i lavori di formalizzazione correlati. L'intero sviluppo è stato verificato meccanicamente utilizzando il sistema Agda. Il lavoro dimostra che la meccanizzazione della teoria dei tipi dipendenti utilizzando sintassi tradizionale senza riconoscimento di termini λ α-convertibili è fattibile.
Sfide di Formalizzazione: La verifica meccanica della teoria dei tipi dipendenti è sempre stata una sfida, in particolare nel trattare il binding delle variabili e l'equivalenza α
Dilemma della Scelta Sintattica: I metodi esistenti tipicamente adottano indici di de Bruijn o nomi di variabili bisortiti per evitare problemi di cattura di nomi, ma questi approcci divergono dalle implementazioni pratiche
Complessità dell'Operazione di Sostituzione: La definizione tradizionale di sostituzione unaria non è ricorsiva strutturale, richiedendo metodi induttivi complessi nella dimostrazione meccanica
Verifica della Scalabilità: Verificare se il framework basato sulla teoria della sostituzione di Stoughton può estendersi a linguaggi più complessi (come PTS)
Ridurre il Divario tra Teoria e Pratica: Utilizzare sintassi tradizionale con nomi di variabili monosortiti, più vicina alle implementazioni effettive dei controllori di tipo
Semplificare i Metodi di Dimostrazione: Attraverso definizioni migliorate della conversione α, utilizzare metodi di induzione strutturale più semplici per provare lemmi chiave
Estensione del Framework di Sostituzione di Stoughton: Estensione del framework originale del λ-calcolo puro per supportare astrazione λ in stile Church e tipi Π
Definizione Migliorata della Conversione α: Proposta di una nuova definizione della conversione α che consente la dimostrazione di lemmi chiave mediante induzione strutturale
Formalizzazione della Metateoría di PTS: Verifica meccanica delle proprietà metateoretiche fondamentali di PTS, inclusi indebolimento, validità sintattica, chiusura sotto conversione α e chiusura sotto sostituzione
Prova di Equivalenza: Dimostrazione dell'equivalenza tra il sistema di regole infinite utilizzando induzione generalizzata e il sistema di regole finite standard
Implementazione Agda Completa: Fornitura di una verifica meccanica completa di circa 3000 righe di codice
L'articolo utilizza la definizione sintattica tradizionale del primo ordine per i termini λ:
data Λ : Set where
c : C → Λ -- costanti
v : V → Λ -- variabili
λ[_:_]_ : V → Λ → Λ → Λ -- astrazione λ in stile Church
Π[_:_]_ : V → Λ → Λ → Λ -- tipo Π
_·_ : Λ → Λ → Λ -- applicazione
Verifica della Fattibilità: Dimostrazione della fattibilità della meccanizzazione della teoria dei tipi dipendenti utilizzando sintassi tradizionale e nomi di variabili monosortiti
Vantaggi del Metodo: Il metodo di sostituzione di Stoughton rimane efficace nel trattare sistemi di tipi complessi
Contributo Teorico: La definizione migliorata della conversione α semplifica le prove chiave
Limitazioni di Scala: Attualmente affronta solo la metateoría fondamentale di PTS, senza coinvolgere proprietà più complesse come la normalizzazione forte
Considerazioni di Prestazione: La complessità computazionale della sostituzione multipla potrebbe influenzare l'applicazione pratica
Estensibilità: L'estensione a sistemi di tipi su larga scala (come quelli con universi, grandi eliminazioni) richiede ancora verifica
L'articolo cita 31 importanti riferimenti, principalmente includenti:
Stoughton (1988): Teoria originale della sostituzione multipla
Barendregt (1992): Teoria classica di PTS
McKinna & Pollack (1993, 1999): Formalizzazione di PTS in LEGO
Barras & Werner: Formalizzazione di CC in Coq
Urban et al. (2011): Metateoría di LF utilizzando Nominal Isabelle
Tasistro et al. (2015): Lavoro originale sul framework di sostituzione di Stoughton
Valutazione Complessiva: Questo è un articolo di alta qualità in informatica teorica che fornisce importanti contributi alla verifica meccanica della teoria dei tipi dipendenti. I punti di innovazione tecnica dell'articolo sono chiari, l'implementazione è completa e fornisce una base teorica e un'esperienza pratica preziose per la ricerca successiva in questo campo.