Results 11  20
of
25
Explicit Universes for the Calculus of Constructions
 Theorem Proving in Higher Order Logics 2002, Springer LNCS 2410
, 2002
"... The implicit universe hierarchy implemented in proof assistants such as Coq and Lego, although really needed, is painful, both for the implementer and the user: it interacts badly with modularity features, errors are difficult to report and to understand. Moreover, typechecking is quite complex. ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
The implicit universe hierarchy implemented in proof assistants such as Coq and Lego, although really needed, is painful, both for the implementer and the user: it interacts badly with modularity features, errors are difficult to report and to understand. Moreover, typechecking is quite complex.
The Zip Calculus
 In Fifth International Conference on Mathematics of Program Construction (MPC 2000
, 2000
"... . Many have recognized the need for genericity in programming and program transformation. Genericity over data types has been achieved with polymorphism. Genericity over type constructors, often called polytypism, is an area of active research. This paper proposes that another kind of genericity is ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
. Many have recognized the need for genericity in programming and program transformation. Genericity over data types has been achieved with polymorphism. Genericity over type constructors, often called polytypism, is an area of active research. This paper proposes that another kind of genericity is needed: genericity over the length of tuples. Untyped languages allow for such genericity but typed languages do not (except for languages allowing dependent types). The contribution of this paper is to present the zip calculus, a typed lambda calculus that provides genericity over the length of tuples and yet does not require the full generality of dependent types. 1 Introduction The key to writing robust software is abstraction, but genericity is often needed to use abstraction: to write a generic sort routine, genericity over types is needed (i.e., polymorphism); to write a generic fold (or catamorphism, a function inductively dened over an inductive data structure), genericity over t...
The SemiFull Closure of Pure Type Systems
 Proceedings of MFCS’98, volume 1450 of Lecture Notes in Computer Science
, 1998
"... We show that every functional Pure Type System may be extended to a semifull Pure Type System. Moreover, the extension is conservative and preserves weak normalization. Based on these results, we give a new, conceptually simple typechecking algorithm for functional Pure Type Systems. 1 ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
We show that every functional Pure Type System may be extended to a semifull Pure Type System. Moreover, the extension is conservative and preserves weak normalization. Based on these results, we give a new, conceptually simple typechecking algorithm for functional Pure Type Systems. 1
Pure type systems in rewriting logic: Specifying typed higherorder languages in a firstorder logical framework
 In Essays in Memory of OleJohan Dahl, volume 2635 of LNCS
, 2004
"... ..."
Typechecking Injective Pure Type Systems
, 1993
"... Injective Pure Type Systems form a large class of Pure Type Systems for which one can compute by purely syntactic means two sorts elmt(\GammajM ) and sort(\GammajM ), where \Gamma is a pseudocontext and M is a pseudoterm, and such that for every sort s, \Gamma ` M : A \Gamma ` A : s ) elmt(\Gamm ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Injective Pure Type Systems form a large class of Pure Type Systems for which one can compute by purely syntactic means two sorts elmt(\GammajM ) and sort(\GammajM ), where \Gamma is a pseudocontext and M is a pseudoterm, and such that for every sort s, \Gamma ` M : A \Gamma ` A : s ) elmt(\GammajM ) = s \Gamma ` M : s ) sort(\GammajM ) = s By eliminating the problematic clause in the (abstraction) rule in favor of constraints over elmt(:j:) and sort(:j:), we provide a sound and complete typechecking algorithm for injective Pure Type Systems. In addition, we prove Expansion Postponement for a variant of injective Pure Type Systems where the problematic clause in the (abstraction) rule is replaced in favor of constraints over elmt(:j:) and sort(:j:). 1
A sequent calculus for type theory
 CSL 2006. LNCS
, 2006
"... Based on natural deduction, Pure Type Systems (PTS) can express a wide range of type theories. In order to express proofsearch in such theories, we introduce the Pure Type Sequent Calculi (PTSC) by enriching a sequent calculus due to Herbelin, adapted to proofsearch and strongly related to natural ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Based on natural deduction, Pure Type Systems (PTS) can express a wide range of type theories. In order to express proofsearch in such theories, we introduce the Pure Type Sequent Calculi (PTSC) by enriching a sequent calculus due to Herbelin, adapted to proofsearch and strongly related to natural deduction. PTSC are equipped with a normalisation procedure, adapted from Herbelin’s and defined by local rewrite rules as in Cutelimination, using explicit substitutions. It satisfies Subject Reduction and it is confluent. A PTSC is logically equivalent to its corresponding PTS, and the former is strongly normalising if and only if the latter is. We show how the conversion rules can be incorporated inside logical rules (as in syntaxdirected rules for type checking), so that basic proofsearch tactics in type theory are merely the rootfirst application of our inference rules.
PATH, a Program Transformation System for Haskell
, 2002
"... PATH (Programmer Assistant for Transforming Haskell) is a userdirected program transformation system for Haskell. This dissertation describes PATH and the technical contributions made in its development. PATH uses a new method for program transformation in which 1) total correctness is preserved, i ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
PATH (Programmer Assistant for Transforming Haskell) is a userdirected program transformation system for Haskell. This dissertation describes PATH and the technical contributions made in its development. PATH uses a new method for program transformation in which 1) total correctness is preserved, i.e., transformations can neither introduce nor eliminate nontermination; 2) infinite data structures and partial functions can be transformed; 3) generalization of programs can be done as well as specialization of programs; 4) neither an improvement nor an approximation relation is required to prove equivalence of programs—reasoning can be directly about program equivalence. Current methods (such as fold/unfold, expression procedures, and the tick calculus) all lack one or more of these features. PATH uses a more expressive logic for proving equivalence of programs than previous transformation systems. A logic more general than twolevel horn clauses (used in the CIP transformation system) is needed but the full generality of first order logic is not required. This logic used in PATH lends itself to the graphical manipulation of program derivations (i.e., proofs of program equivalence). PATH incorporates a language extension which makes programs and derivations more generic: programs and derivations can be generic with respect to the length of tuples; i.e., a function can be written that works uniformly on 2tuples, 3tuples, and etc. iii ivCopyright c ○ 2002 by Mark Anders Tullsen All rights reserved. v viAcknowledgments I wish to thank my advisor Paul Hudak for many years of constructive criticism, guidance, and encouragement. I also wish to thank the other readers of this dissertation: John Peterson, Zhong Shao, and Tim Sheard. To my wife, Teresa, and my children Andrew, Rachel, Zachary, and Jonathan: a heartfelt thanks for your support and patience while I have been working on this dissertation. Soli Deo Gloria. vii viiiContents
A sequent calculus for type theory
 CSL 2006. LNCS
, 2006
"... Abstract Based on natural deduction, Pure Type Systems (PTS) can express a wide range of type theories. In order to express proofsearch in such theories, we introduce the Pure Type Sequent Calculi (PTSC) by enriching a sequent calculus due to Herbelin, adapted to proofsearch and strongly related t ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Abstract Based on natural deduction, Pure Type Systems (PTS) can express a wide range of type theories. In order to express proofsearch in such theories, we introduce the Pure Type Sequent Calculi (PTSC) by enriching a sequent calculus due to Herbelin, adapted to proofsearch and strongly related to natural deduction. PTSC are equipped with a normalisation procedure, adapted from Herbelin’s and defined by local rewrite rules as in Cutelimination, using explicit substitutions. It satisfies Subject Reduction and it is confluent. A PTSC is logically equivalent to its corresponding PTS, and the former is strongly normalising if and only if the latter is. We show how the conversion rules can be incorporated inside logical rules (as in syntaxdirected rules for type checking), so that basic proofsearch tactics in type theory are merely the rootfirst application of our inference rules.
Approaches to Formal MetaTheory
, 1997
"... . We present an overview of three approaches to formal metatheory: the formal study of properties of deductive systems. The approaches studied are: nameless dummy variables (also called de Bruijn indices) [dB72], first order abstract syntax for terms with higher order abstract syntax for judgements ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
. We present an overview of three approaches to formal metatheory: the formal study of properties of deductive systems. The approaches studied are: nameless dummy variables (also called de Bruijn indices) [dB72], first order abstract syntax for terms with higher order abstract syntax for judgements [MP93, MP97], and higher order abstract syntax [Pfe91]. 1 Introduction Formal metatheory, the machine assisted proof of theorems about logical systems, is a relatively new field. While some approaches ([dB72]) have been known about for some time, large developments have been rare until recently. Starting with [Alt93, Coq93] we have some formalisations of strong normalisation for natural deduction calculi using de Bruijn indices. The body of work in Elf [Pfe91] includes some formal metatheory using the higher order abstract syntax method which is integral to the LF approach. The work of McKinna, Pollack and others in [vBJMR94, MP93, MP97] demonstrates a slightly different approach using a ...
MetaTheory of SequentStyle Calculi in Coq
, 1997
"... We describe a formalisation of proof theory about sequentstyle calculi, based on informal work in [DP96]. The formalisation uses de Bruijn nameless dummy variables (also called de Bruijn indices) [dB72], and is performed within the proof assistant Coq [BB + 96]. We also present a description of ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We describe a formalisation of proof theory about sequentstyle calculi, based on informal work in [DP96]. The formalisation uses de Bruijn nameless dummy variables (also called de Bruijn indices) [dB72], and is performed within the proof assistant Coq [BB + 96]. We also present a description of some of the other possible approaches to formal metatheory, particularly an abstract named syntax and higher order abstract syntax. 1 Introduction Formal proof has developed into a significant area of mathematics and logic. Until recently, however, such proofs have concentrated on proofs within logical systems, and metatheoretic work has continued to be done informally. Recent developments in proof assistants and automated theorem provers have opened up the possibilities for machinesupported metatheory. This paper presents a formalisation of a large theory comprising of over 200 definitions and more than 500 individual theorems about three different deductive system. 1 The central dif...